向 Gmail 托管域发送电子邮件的 Web 表单无法为 3 个集群 Web 服务器中的 1 个提供服务

向 Gmail 托管域发送电子邮件的 Web 表单无法为 3 个集群 Web 服务器中的 1 个提供服务

我们有 3 台 AWS 托管的 Web 服务器,所有服务器的配置(据我所知)都相同。每台服务器都有一份 Web 反馈表单的副本,该表单提交给 PHP 脚本,最终调用 php 函数mail()向我们发送电子邮件。

这在 3 个 Web 服务器上的 2 个上运行良好。在第三个服务器上,phpmail()函数返回1(表示邮件已发送),/etc/maillogWeb 服务器上显示邮件已接受并准备发送,然后转移到 Google 的 MX,后者也接受该邮件。

发送至 Gmail 的邮件日志示例:

Nov  7 00:40:18 ip-[redacted] sendmail[18499]: sA70eHGI018497: to=<[recipient]>, ctladdr=<apache@ip-[redacted]> (48/48), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=121194, relay=aspmx.l.google.com. [[redacted]], dsn=2.0.0, stat=Sent (OK 1415320818 q110si8698921qgd.122 - gsmtp)

我觉得这很好。但是这条消息从来没有出现在我的收件箱里。

我已检查过的内容:

  • 域名 MX 记录是合理的
  • 所有 3 个主机上的 sendmail 版本相同
  • /etc/mailname 在所有 3 个主机上的设置相同

有什么建议么?

答案1

该日志摘录的最后一部分确认该消息已被 Gmail 的收件人邮件服务器接受:

relay=aspmx.l.google.com. [[redacted]], dsn=2.0.0, stat=Sent (OK 1415320818 q110si8698921qgd.122 - gsmtp)

括号内的部分是远程服务器返回的确认信息的一部分,因此如果您有 Google 的支持联系人,他们大概可以使用该信息来追踪他们对邮件做了什​​么。但考虑到这是一项免费邮件服务,让他们这样做的可能性不大。

检查一下垃圾邮件文件夹怎么样?里面有吗?

相关内容