一些云公司提供“永远免费”的 VM 实例。规模不是很大,但对我来说已经足够了,所以我将把我的基础设施迁移到那里,包括 mail.example.com。该机器处理 @example.com 的来信 ( example.com MX 10 mail.example.com
)。但是,要从 @example.com 发送电子邮件,机器需要 PTR 记录 (192.0.2.1 PTR mail.example.com)。但是,云提供商不允许添加 PTR 记录。所以,也许我只需要使用中继来发送邮件,该中继托管在允许设置 PTR 记录的其他云提供商处?
该中继虚拟机只需要一个名为... mail.example.com 的 PTR 记录?或者 smtp.example.org 也可以?如果也可以,那么电子邮件收件人的服务器 - pechora1.icann.org - 是否只需检查 smtp.example.org 是否为 smtp.example.org 并接受我来自... @example.com 的电子邮件?无需额外的 DNS 要求?(如果是,为什么?)
答案1
请注意,您绝对不需要总是使用mail
、smtp
或mx
其他“众所周知”的主机名作为电子邮件服务器。任何有效的 DNS 主机名都可以。此外,这些“众所周知”的名称永远不会被检查,因此即使您使用这样的名称,在您连贯地设置所有内容之前,什么也不会起作用。我使用通用名称server-nameX
来说明这一点。“传入”和“传出”服务器可能是完全不同的机器。传出服务器能够接收任何电子邮件并不重要。但是,传入服务器有时需要发起传递状态通知。
MX 记录控制邮件接待。如果您希望此主机接收域的邮件,则需要这样做。当然,邮件服务器不必位于同一域中。如果您希望 的邮件由example.net
提供服务server-name1.example.com
,请在 中添加以下 MX 记录example.net
:
example.net. MX 10 server-name1.example.com.
邮件起源更加棘手。
如果 PTR 记录指向相应的 A 或 AAAA 记录,电子邮件服务器通常会表现得更好。例如,如果您有
server-name2.example.com. A 192.0.2.1
你最好也
1.2.0.192.in-addr.arpa. PTR server-name2.example.com.
(当然,这只有当您的服务器真正从 连接时才有帮助192.0.2.1
)。
您需要将此 IP 地址或名称列在所服务域(“发件人”电子邮件地址所属的域)的 SPF 记录中。例如,如果您希望此服务器为 提供服务example.net
,则后者必须在 SPF TXT 记录中的某处包含以下内容:... a:server-name2.example.com ...
或... ip4:192.0.2.1 ...
。
让此服务器拥有自己的 DKIM 私钥,并让它使用该密钥通过选择器对邮件进行签名server-name2
。在这种情况下,您还必须在所服务域中的此选择器下发布相应的公钥:
server-name2._domainkey.example.org. TXT "v=DKIM1; p=..."
另外,最好让服务器server-name2.example.com
在各个地方公布这一点,尤其是在HELO
/中EHLO
。除了 PTR 检查外,有些服务器还会检查这一点以对应收到连接的 IP 地址。