我们设置了两个专用 IP 地址,用于从多个域发送电子邮件。例如,专用 IP 地址为192.0.2.1
和192.0.2.2
,域为example.com
、example.net
& example.org
。任何 IP 地址都可以从任何域发送电子邮件。
在这种情况下,PTR 和 SRV 记录设置应该如何进行?
我对 PTR 记录的理解是,发送 IP 地址和每封电子邮件的域名之间需要有 1:1 的关系。因此,我们可以设置 PTR 记录来建立192.0.2.1
<-> ,但是当从 发送电子邮件或从 发送示例时example.com
,这无济于事。192.0.2.1
example.net
192.0.2.2
example.net
如果我的理解不正确,我深感抱歉,并且非常乐意接受纠正。
答案1
SMTP 服务器软件可能有一个邮件名称HELO
它在/命令和 SMTP 标语中使用EHLO
。建议(不是必须)匹配反向 DNSPTR
记录,该记录必须具有匹配的正向记录A
,因为某些接收邮件系统可能会将这两者之间的不匹配视为垃圾邮件的指标,从而增加垃圾邮件分数。David Barr 建议在他的信息性文章中匹配PTR
&A
RFC 1912, 2.1,并且 MxToolBox 有以下建议:
-
一些接收邮件服务器可能会将此作为评分系统中可能的垃圾邮件来源的指示。大多数不会仅以此为由拒绝收到的邮件。我们建议您联系您的 ISP,并要求他们设置与您的邮件服务器主机名匹配的反向记录 (PTR)。
-
一些接收邮件服务器可能会使用不匹配或被屏蔽的横幅作为评分系统中可能的垃圾邮件来源的指示,但大多数不会仅基于此而拒绝收到的邮件。
如果您没有 PTR 记录,或者您的记录与您的主机名不匹配,我们建议您联系您的 ISP 并要求他们设置与您的邮件服务器主机名匹配的反向(PTR)记录。
我也不建议这两个 IP 地址使用相同的主机名,而只需使用一个 IP 地址和任何具有匹配HELO
主机名的主机名即可。这不需要是服务器发送邮件的任何域,A
也不PTR
需要是其中一个域的子域。例如,发送
< 220 mail.example.org ESMTP
> HELO example.com
< 250 mail.example.org
> MAIL FROM:<[email protected]>
< 250 2.1.0 Ok
这里建议example.net
和mail.example.org
具有 SPF 记录,因为 SPF 同时用于MAIL FROM
(RFC 7208, 2.4) 和HELO
主机名 (RFC 7208, 2.3)例如,
mail.example.com. IN A 192.0.2.1
mail.example.com. IN TXT "v=spf1 +a -all"
example.net. IN TXT "v=spf1 +a:mail1.example.com -all"
或者
mail.example.com. IN TXT "v=spf1 +ip4:192.0.2.1 -all"
example.net. IN TXT "v=spf1 +ip4:192.0.2.1 -all"
如果你添加了 DMARC,你可能想要使用~all
而不是-all
。我不会再写另一个完整的教程了,因为已经有了,例如,2024 年终极 SPF / DKIM / DMARC 最佳实践来自弗雷迪·李曼。
答案2
PTR 记录不一定需要与通过该 IP 发送邮件的域匹配,而应该引用邮件服务器的主机名,该主机名需要解析到相同的 IP。
PTR 记录
1.2.0.192.in-addr.arpa. IN PTR mail1.example.com.
2.2.0.192.in-addr.arpa. IN PTR mail2.example.com.
匹配example.com
DNS 中的记录:
mail1.example.com. IN A 192.0.2.1
mail2.example.com. IN A 192.0.2.2
然后可以修改每个域的 SPF 记录以允许来自该服务器的邮件,无论是通过 IP 地址、主机名还是包含来自另一个域的 SPF 记录。
example.com. IN TXT "v=spf1 +ip4:192.0.2.1 +ip4:192.0.2.2 -all"
example.net. IN TXT "v=spf1 +a:mail1.example.com +a:mail2.example.com -all"
example.org. IN TXT "v=spf1 include:example.com -all"