我有一台机器(centos 5),有一个外部 IP 地址。在那台机器上,我有许多虚拟主机,这些虚拟主机有几个不同的顶级域名和子域名,例如:
sub1.域
1.com sub2.域1.com
sub3 .域
1.com sub1.域2.com
sub2.域2.com sub1.
域3.com
等等...很多这些不同的站点需要以其相应的域(或至少是二级域)发送邮件。
我需要设置 DKIM、SPF(但这在 DNS 上处理)和 rDNS 查找,以便接收邮件。据我了解,每台机器只能有一个 rDNS 条目。我可以为每个顶级域名设置一个服务器,但我认为这会很昂贵。
我该怎么做?有没有办法在一个 IP 地址上进行多次 rDNS 查找?如何在一台机器上为多个域名设置 DKIM 签名?有没有可以为我处理这个问题的服务?
答案1
与传言相反,您不需要将 rDNS 域设置为'From'
电子邮件地址的域部分。您只需匹配'Mail From' /'Envelope Sender'
地址域。因此,如果您的 IP'a.b.c.d'
的 rDNS 为,则您应该有一个指向 IP'mail.example.com'
的正向 DNS 记录。您的邮件服务器在向其他域发送邮件时应将自己标识为。现在您可以托管多个域/子域(example.net、sub.example.net 等),而无需将您的 rDNS 设置为与 example.net 相关的任何内容。'mail.example.com'
'a.b.c.d'
'mail.example.com'
每个“发件人”地址域都应具有适当的 SPF 和 DKIM 记录。DKIM 记录在与其他域共享 IP 时保护基于域的声誉。
答案2
实际上,一个 IP 地址可以有两个 rDNS 记录(严格来说,IN PTR
是记录)。但是,结果通常不是您想要的(通常会随机选择其中一个)。
正确的做法是为充当邮件服务器的邮件服务器选择一个主机名。然后,在IN MX
您有邮件的每个域的记录中定义该服务器。之后,创建 SPF 记录 ( IN TXT
),指定该服务器有权为您的域发送邮件;使用您选择的一个主机名为每个域创建一个这样的记录。
rDNS 检查垃圾邮件保护通常会查看您的主机是否具有 rDNS,以及 rDNS 是否与 MX 记录的 DNS 匹配(例如,如果有记录DOMAIN.BAR. IN MX 0.0.0.0
,和SERVER.FOO. IN A 0.0.0.0
,则最好有记录0.0.0.0.in-addr.arpa IN PTR SERVER.FOO.
。它不会担心 server.foo 和 domain.bar 不同。
如果您的 SMTP 服务器不支持为其发送的每个域都使用 DKIM 密钥,您可以对每个域使用相同的密钥(并使用相同的私钥为每个域创建新的 DKIM 记录)。