我运行一个小型网络服务器,其中包含一些我用于个人和测试目的的域。我也想将它设置为邮件服务器,并且我正在尝试了解检查 SMTP HELO 标头的 rDNS 查找。
问题是我无法控制服务器 IP 地址的 PTR 记录,ISP 也不可能将其委托给我。假设我的 IP 地址是 123.45.67.89。然后我的 IP 的 PTR 记录解析为主机名,如123-045-067-089.customers.my-isp.net
.
TL;DR——我试图了解在 SMTP HELO 标头中正在寻找什么 rDNS 域?它是电子邮件发件人的域名(例如[email protected]
)还是邮件交换服务器的主机名,即使服务器的域名与发件人的域名完全不同?
如果我使用我的 IP 地址的 ISP 主机名(例如123-045-067-089.customers.my-isp.net
)作为从 发送的电子邮件的 HELO 标头** mydomain.com
,是否会验证[email protected]
我的邮件服务器在 IP 地址 123.45.67.89 发送的电子邮件,或者 123.45 的 PTR 记录.67.89 需要解析为mydomain.com
?
**我还可以获得一个 TLS 证书123-045-067-089.customers.my-isp.net
,并有 MX 记录和 TXT-spf 记录mydomain.com
指向123-045-067-089.customers.my-isp.net
长版:
这是我对 SMTP HELO 检查 rDNS 工作原理的新手理解。假设我的域名是mydomain.com
,我想从 发送电子邮件[email protected]
至[email protected]
。我首先将我的桌面客户端连接到我的邮件服务器。邮件服务器(IP 地址为 123.45.67.89)随后将连接到位于gmail.com
. 在这种情况下,假设 HELO 标头列为mydomain.com
其域名。所以 gmail 服务器随后会在我服务器的 IP 地址上进行 rDNS 查找,结果发现 123.45.67.89 解析为 hostname 123-045-067-089.customers.my-isp.net
。因为这与 HELO 标头中提供的域不匹配,gmail 服务器假定这是垃圾邮件并拒绝它。
到目前为止,一切都很好?或者没有?
现在,让我们假设mydomain.com
我的邮件服务器不是将 put 作为 SMTP HELO 标头,而是将123-045-067-089.customers.my-isp.net
,并且还具有由已建立的 CA 签名的该域的 TLS 证书。此外,MX 和 TXT-spf 记录mydomain.com
指向123-045-067-089.customers.my-isp.net
已建立的邮件服务器。
(注意:我不清楚 SMTP HELO 是否也规定了发件人电子邮件的域???)
在第二种情况下,发送的电子邮件是否会被[email protected]
gmail[email protected]
服务器验证并识别为合法电子邮件?或者它仍然会失败,因为123-045-067-089.customers.my-isp.net
HELO 中提供的与电子邮件发件人的mydomain.com
. (再次……我不清楚这是否可以通过 SMTP 协议实现……我对电子邮件服务器还很陌生)
当然(这不言而喻......)我确实可以完全控制我拥有的域的所有 DNS 转发区域记录。此外,我确实有一个稳定的长期 IP 地址,并且我所有的域(和子域)都配置为解析回我建立的 IP 地址。
一台服务器可以为许多不同的域发送邮件,即使是在一个只有一个 HELO/EHLO 的连接中。从中很容易看出 HELO/EHLO 不能与任何特定邮件相关,而是与邮件服务器相关,通常它是解析为邮件服务器所在的 ip。
从技术上讲,任何接收 HELO/EHLO 的邮件服务器都可以以服务器喜欢的任何方式验证信息,并使用该信息来验证邮件中的任何其他内容。但是通常情况下,如果 HELO/EHLO 之后的值解析为您的服务器所在的 ip,那么 ip 的 rDNS 通常无关紧要。