【问题标题】:PHP not sending email to email addresses that have 2 dot ('.') characters in their namePHP 不向名称中包含 2 个点 ('.') 字符的电子邮件地址发送电子邮件
【发布时间】:2014-10-10 17:58:17
【问题描述】:

一段时间以来,我一直在努力使用 PHP 中的邮件功能发送电子邮件。我想向 2 个不同的电子邮件地址发送 2 封单独的电子邮件。

$allowHtmlHeader = "MIME-Version: 1.0\r\n";
$allowHtmlHeader .= "Content-Type: text/html; charset=ISO-8859-1\r\n";

$headers = "From: webmaster@xyz.com\r\nReply-To: webmaster@xyz.com\r\n" . $allowHtmlHeader;
$customerHeaders = "From: a.b.c@gmail.com\r\nReply-To: a.b.c@gmail.com\r\n" . $allowHtmlHeader;
$subject = "Enquiry";
$message = "Try me...";
$cMessage = "I score better!";

if ($_POST[cEmail] != null)
{
    if (mail("a.b@gmail.com", $subject, $cMessage, $cHeaders)) {
        echo("Message successfully sent!");
    }
    else {
        echo("Message delivery failed...");
    }

    if (mail("a.b.c@gmail.com", $subject, $message, $headers)) {
        echo("Message successfully sent!");
    }
    else {
        echo("Message delivery failed...");
    }   
}

使用上面的代码,我可以成功地向 a.b@gmail.com 发送电子邮件。但在所有尝试中,没有一封邮件到达 a.b.c@gmail.com,尽管它总是成功到达 a.b@gmail.com。我什至尝试用 a.b.c@gmail.com 替换 a.b@gmail.com,但没有邮件单独发送到该电子邮件地址。

也许邮件功能不适用于超过 1 个点 '.' 的电子邮件。以他们的名义?

任何帮助将不胜感激!

【问题讨论】:

  • 如果您的代码与a.b@ 一起工作,但当您将其更改为a.b.c@ 时却不行,那么您的代码没有问题。您是否收到“成功发送”消息?如果是这样,那么在阻止电子邮件通过的过程中某个地方的邮件服务器中会发生一些事情 - 我会先查看您的邮件服务器上的日志,看看那里是否有任何奇怪的地方。我的第一个猜测是它在某个地方遇到了垃圾邮件过滤器。
  • 是的,我总是收到“消息已成功发送!”。此外,我一直试图在我的 gmail 帐户上查找垃圾邮件过滤器,但在任何地方都找不到。另外,我想知道gmail如何将邮件识别为一个帐户的垃圾邮件而不关心其他帐户?
  • 这是一个gmail地址问题吗? Gmail 显然忽略了点。 a.b.c@gmail.com == a.bc@gmail.com == abc@gmail.com。此处信息:slate.com/blogs/future_tense/2013/08/01/…
  • 太棒了!。我删除了这些点,瞧!非常感谢!。 :)

标签: php email gmail


【解决方案1】:

已解决:

按照 Pagerange 的建议,我尝试从“收件人”电子邮件地址中删除点/句点 ('.'),并且电子邮件可以完美发送!

【讨论】:

    猜你喜欢
    • 2014-07-20
    • 1970-01-01
    • 1970-01-01
    • 2019-01-10
    • 1970-01-01
    • 1970-01-01
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多