Google Apps:不接收来自PHP mail()发送的同一域的电子邮件

时间:2014-04-21 19:14:57

标签: php sendmail google-apps

为了测试PHP mail()发送的电子邮件,我有以下脚本叫做phpmail.php

<?php

$to      = "david@domain.com david@gmail.com david@otherdomain.com";
$header  = "From: noreply@domain.com";
$subject = "Testing PHP email from domain.com";
$body    = "This is sent form the server.";

if (mail($to, $subject, $body, $header)) {
    echo("Message successfully sent!");
} else {
    echo("Message delivery failed...");
}

?>

它发送到3个电子邮件地址:

  1. david@domain.com(Google Apps)
  2. david@gmail.com(标准版Gmail)
  3. david@otherdomain.com(也是Google Apps)
  4. 脚本从托管“domain.com”网站的服务器运行。虽然电子邮件2和3收到相同的消息,但它不是1.这是执行PHP的域。

    我是否需要从服务器更改以使其正常工作?谢谢。

    编辑:使用

    中的说明正确设置MX

    https://support.google.com/a/answer/174125?hl=en

    我有另一台服务器使用此设置并且它正常工作。出于某种原因,它不能与此服务器一起使用。我相信(模糊记忆)它在不久前工作了。

2 个答案:

答案 0 :(得分:1)

根据此网站的指示,通过将网络主机名(与Google Apps相同)更改为其他内容解决了此问题:

http://www.rackspace.com/knowledge_center/article/centos-hostname-change

答案 1 :(得分:0)

您是否在托管网站的同一域中运行第一个Google Apps域?您的服务器可能配置为识别“内部”邮件。如果是这种情况,邮件将传递到本地邮件服务器而不是Google Apps邮件服务器。

解决方案是将您的(网络)服务器的DNS(特别是MX)记录配置为指向Google Apps。如果你有一个像DirectAdmin或Plesk这样的控制面板,这可以很容易地完成。如果没有,请参阅Google特定的设置说明。