我在通过 asp.net mvc 应用程序发送邮件时遇到间歇性问题。这种情况并不经常发生,但经常发生。
以下是一些错误:
Message delivery to the host '68.87.26.147' failed while delivering to the remote domain 'comcast.net' for the following reason: An SMTP protocol error occurred.
Message delivery to the host '207.115.11.16' failed while delivering to the remote domain 'bellsouth.net' for the following reason: An SMTP protocol error occurred.
Message delivery to the host '98.138.112.38' failed while delivering to the remote domain 'ymail.com' for the following reason: An SMTP protocol error occurred.
The SMTP verb which caused the error is 'MAIL'. The response from the remote server is '421 4.7.1 [TS03] All messages from xxx.xxx.xxx.xxx will be permanently deferred; Retrying will NOT s'.
Message delivery to the host '64.98.36.4' failed while delivering to the remote domain 'trigasco.com' for the following reason: An SMTP protocol error occurred.
The SMTP verb which caused the error is 'HELO'. The response from the remote server is '504 5.5.2 <WIN-OB929P97YAR>: Helo command rejected: need fully-qualified hostname
'.
Message delivery to the host '66.196.118.36' failed while delivering to the remote domain 'yahoo.com' for the following reason: An SMTP protocol error occurred.
The SMTP verb which caused the error is 'MAIL'. The response from the remote server is '421 4.7.1 [TS03] All messages from xxx.xxx.xxx.xxx will be permanently deferred; Retrying will NOT s'.
我的 smtp 虚拟服务器的设置如下:
我已将 127.0.0.1 添加到允许列表中。我收到了一些电子邮件,大概是尝试发送的邮件的一半。
我使用的是具有公共 IP 地址的专用服务器。它不属于域的一部分。
有什么建议么?
答案1
这里发生了几件事。让我们分解一下:
4.7.1 [TS03] All messages from xxx.xxx.xxx.xxx will be permanently deferred;
请注意,这种情况发生在 Yahoo! 和 ymail 上 - 您在他们的黑名单上。也许您在那里向某人发送了垃圾邮件;也许在您之前拥有此 IP 的人向他们发送了垃圾邮件,也许您的反向 DNS 指示它是 PPPOE 连接上的 IP 地址,并且他们因为垃圾邮件率高而阻止了它们。但这不是您的邮件服务器的错;所以这里没什么可看的。
The SMTP verb which caused the error is 'HELO'. The response from the remote server is '504 5.5.2 <WIN-OB929P97YAR>: Helo command rejected: need fully-qualified hostname
这一点相当容易理解 - 您的邮件服务器未配置 FQDN。此邮件服务器要求您在向其发送邮件时说明您的身份;可能是为了让他们能够运行反向 DNS 或其他方法,以将您所说的内容与您发送的内容进行匹配。
Message delivery to the host '207.115.11.16' failed while delivering to the remote domain 'bellsouth.net' for the following reason: An SMTP protocol error occurred.
Message delivery to the host '68.87.26.147' failed while delivering to the remote domain 'comcast.net' for the following reason: An SMTP protocol error occurred.
这些才是你真正应该关注的问题。我会打破你的 wireshark/pcap,捕获你的邮件流量,然后逐步查看发生了什么。如果必须,通过 telnet 重新创建。这将让你更好地了解正在发生的错误。也许它们是你的问题,也许不是。