我正在设置一个基于 .NET 的自定义 SMTP 服务器。它正在监听端口 25,并使用我配置的主机名响应 HELO 命令(它与通过反向 DNS 查找解析的主机名匹配,并且我的 DNS 中有正确的 A 和 MX 记录)。该服务器似乎运行良好(我可以向 gmail、yahoo、mail.com、zoho、outlook.com 发送电子邮件),并且 HELO 测试通过了www.isnotspam.com。 但mail-tester.com和allaboutspam.com两者都看到错误的 HELO 响应并警告我。这表明我的服务器可能存在问题,其他一些电子邮件接收服务器可能会抱怨。以下是一些警告(我用虚拟值替换了我的 IP 和域名)。
Mail-tester.com 警告- 注意感叹号
您的 IP 地址 10.10.10.10 与域名 mail.yourdomain.com 关联。然而,您的邮件似乎是从 !10.10.10.10! 发送的。
Allaboutspam.com 警告
电子邮件服务器 HELO 为 <[10.10.10.10]>。HELO 问候语不包含有效域。我们建议在 HELO 问候语中使用有效域。理想情况下,HELO 问候语应与电子邮件服务器主机名相同(FQDN 格式)。
当我使用 telnet 连接到我的邮件服务器并发出 HELO 时,我得到:
250 mail.yourdomain.com
这里可能有什么问题?我应该关心这些警告吗?
答案1
问题出在我的服务器发出的 HELO 命令上,当时发送发送至 mail-tester.com 的电子邮件 - 即我的服务器对 mail-tester 的 HELO 的响应并不重要。我错误配置了负责发送电子邮件的对象 - 使用 MailKit SmtpClient 时,关键是设置此属性http://www.mimekit.net/docs/html/P_MailKit_Net_Smtp_SmtpClient_LocalDomain.htm到正确的主机名(mail.yourdomain.com
就我而言)。