从 PHP 发送邮件给出无法路由的地址

从 PHP 发送邮件给出无法路由的地址

我有一台运行 PHP 和 Exim4(当然还有其他东西)的 Debian 服务器。PHP 应用程序每天发送数千封电子邮件,所有邮件都运行正常,但是我现在有了一个新客户,而我的 PHP/Exim4 无法发送到此帐户。

PS 我添加了--at--来阻止爬虫程序找到地址。

  1. 我检查了 exim4 日志并发现了以下情况:
2014-04-02 08:48:10 1WV7TW-0001Em-Od <= support --at-- sobs.com.au H=localhost [127.0.0.1] P=esmtp S=1215 
2014-04-02 08:48:11 1WV7TW-0001Em-Od ** az --at-- mentonegrammmar: Unrouteable address 
2014-04-02 08:48:11 1WV7TW-0001Em-Od Completed
  1. 然后我使用以下命令检查了 exim4 中的路由:
# exim -bt az --at-- mentonegrammar
R: dnslookup for az --at-- mentonegrammar
az --at-- mentonegrammar
router = dnslookup, transport = remote_smtp
host mail.mentonegrammar [58.96.103.231] MX=5

看起来路由运行正常。我再次尝试了应用程序电子邮件,但仍然收到无法路由的地址错误。

  1. 然后我尝试从同一台服务器发送命令行电子邮件。

    echo "Test message" | mail -s "Test message" az --at-- mentonegrammar
    

这封电子邮件按要求发送并成功到达,但是来自我的 PHP 应用程序的电子邮件仍然失败。

  1. 我检查了申请:
$mime = new Mail_mime();
$mime->setHTMLBody($body);
$content = $mime->get(array('html_charset' => 'utf-8'));
$formattedHeaders = $mime->headers($headers);
$smtp = Mail::factory("smtp", array());
$result = $smtp->send($headers["To"], $formattedHeaders, $content);
  1. 如上所述,该服务器和应用程序已成功发送数千封电子邮件。

  2. Mentone Grammar 的 IT 部门并未表示在接收其他电子邮件时遇到任何问题。

总之,我不断回到 exim4 日志中的“无法路由的地址”错误,而调试输出表明该地址是可路由的。我不禁想到 Exim4 配置存在一些问题,但只有在从 PHP 应用程序获取邮件请求时,这才是安全问题——我只是不知道。

有人能给我指出正确的方向吗?

答案1

我不确定,也许是打字错误,但在一种情况下,您的域名有三个mmm(请参阅 exim4 日志),而在另一种情况下,您的域名有两个mm(请参阅您的路由测试和您的测试):echo

mentonegrammmar.net (does not exist)

mentonegrammar.net (exists)

仔细检查您的应用程序中的域名是否正确PHP

相关内容