测试邮件服务器/服务器未到达收件人

测试邮件服务器/服务器未到达收件人

我们在 Linux 服务器上有一个 Drupal 网站,它使用 mail() 通过 PHP 发送邮件。我认为应该使用 PHPmailer 和 sendmail。

域名是 www.myclientdomain.com,我们可以全天收到来自该网站的电子邮件。对于我们的电子邮件、对于我们的 Gmail,一切都很顺利。

但是,他们无法从 Web 服务器接收任何电子邮件。电子邮件发送方式为[电子邮件保护]

我相信他们正在运行 Exchange,并且我们有 SPF 记录,但这似乎根本没有帮助。

我如何才能最好地模拟从服务器发送电子邮件,并测试他们的邮件服务器如何响应。我可以使用哪些工具来查看一些日志,或找到此问题的根源?我没有从他们的 Exchange 管理员那里得到太多帮助,似乎它从未影响过他们的 Exchange,所以在它之前可能会有一些东西压垮它。Barracuda,谁知道呢。

答案1

当我看到这种情况发生时,几乎总是因为邮件是在本地传递的。托管 myclientdomain.com 的 Drupal 网络服务器不知道 myclientdomain.com 的电子邮件是在外部托管的。

您应该能够通过查看 /var/log/maillog 或 mail.log 或 exim_main.log 或发行版中命名的任何邮件日志来快速验证这一点。

另一个非常有用的工具是 telnet。您可以从 Drupal 服务器 telnet 到 Exchange 服务器并模拟 SMTP 连接。这将让您看到 Exchange 服务器发回的消息,还可以验证您是否确实可以将正确的电子邮件传送到该 Exchange 服务器。

这里有一个关于如何通过 telnet 进行手动 SMTP 会话的快速教程:

http://www.networkclue.com/internet/smtp/manual-test.aspx

祝你好运!

答案2

jdw 的回答中提到的 telnet 方法是首选方法,特别是因为您可以直接从发送服务器启动它。另一件要检查的事情是您是否有一个反向 PTR 记录在服务器的公共/传出 IP 上。

答案3

相关内容