我有一台运行 PHP 和 Exim4(当然还有其他东西)的 Debian 服务器。PHP 应用程序每天发送数千封电子邮件,所有邮件都运行正常,但是我现在有了一个新客户,而我的 PHP/Exim4 无法发送到此帐户。
PS 我添加了--at--来阻止爬虫程序找到地址。
- 我检查了 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
- 然后我使用以下命令检查了 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
看起来路由运行正常。我再次尝试了应用程序电子邮件,但仍然收到无法路由的地址错误。
然后我尝试从同一台服务器发送命令行电子邮件。
echo "Test message" | mail -s "Test message" az --at-- mentonegrammar
这封电子邮件按要求发送并成功到达,但是来自我的 PHP 应用程序的电子邮件仍然失败。
- 我检查了申请:
$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);
如上所述,该服务器和应用程序已成功发送数千封电子邮件。
Mentone Grammar 的 IT 部门并未表示在接收其他电子邮件时遇到任何问题。
总之,我不断回到 exim4 日志中的“无法路由的地址”错误,而调试输出表明该地址是可路由的。我不禁想到 Exim4 配置存在一些问题,但只有在从 PHP 应用程序获取邮件请求时,这才是安全问题——我只是不知道。
有人能给我指出正确的方向吗?
答案1
我不确定,也许是打字错误,但在一种情况下,您的域名有三个mmm
(请参阅 exim4 日志),而在另一种情况下,您的域名有两个mm
(请参阅您的路由测试和您的测试):echo
mentonegrammmar.net (does not exist)
mentonegrammar.net (exists)
仔细检查您的应用程序中的域名是否正确PHP
。