假设我的域是 example.com,我们有 SMTP 服务器的 SPF 记录example.com
。现在假设我已经决定允许example.org
以example.com
.I 的身份发送邮件。我知道如何添加example.org
到 SPF 但如果我还想使用 DomainKeys 或 DKIM 来验证 example.org,密钥是否需要在example.com
或example.org
?例如,
我会使用:
_domainkey.example.com. IN TXT "t=y\; o=~\;"
xxxxxxx._domainkey.example.com. IN TXT "k=rsa\;
p=xxxxxxxxxxx
或者
_domainkey.example.org. IN TXT "t=y\; o=~\;"
xxxxxxx._domainkey.example.org. IN TXT "k=rsa\;
p=xxxxxxxxxxx
还,
1)谁生成密钥?example.com
还是example.org
?(我很确定 example.org 会制作密钥,然后向我们发送公共 DNS,但不确定)
2)我是否需要 SPF 和密钥,或者仅密钥就足以验证另一个域并允许它通过验证?(我处于只想使用键的位置)
3) 在提供者检查方面,哪一个更好用?例如,提供者是否像 SPF 一样检查密钥?
作为电子邮件发件人,正确配置您的服务器对于建立可信度/信任大有帮助。现在几乎所有的评估都是自动化的,许多组织对他们发布的内容有选择性。与我的服务器的大部分连接显然是垃圾邮件。
您可以使用现有密钥为两个域签名。诀窍是使用正确的签名者签署电子邮件。我从发件人地址中提取域并作为该域签名。
拥有多个具有不同选择器的活动公钥是完全可以接受的。在密钥更换期间,您将希望旧密钥和新密钥处于活动状态。应定期更换钥匙。
如果您充当中继服务器并
example.org
正在签名,他们需要生成他们使用的密钥。为签名域维护 DNS 的任何人都需要为用于签名消息的选择器添加公钥。在签名服务器上生成密钥是最安全的。这将消除在其他任何地方拥有私钥的需要。公钥是公开的,将被公开,因此无需对其进行保护。
许多大型组织未能发布其公钥。我赞扬你努力使它正确。
SPF 和 DKIM 都是完全可选的,但它们确实有助于将您的服务器与垃圾邮件机器人区分开来。我建议对所有域使用 SPF。这可以像
v=spf1 a mx -all
发送电子邮件的域、v=spf1 a -all
邮件服务器和v=spf1 -all
所有其他域一样简单。SPF 更可靠,但我相信大多数大型网站都会同时检查 DKIM 和 SPF。具有严格 SPF 策略的通行证可以很好地表明电子邮件有效。根据我的经验,许多组织都使用 SPF 来评估消息。
对于邮件服务器,我会推迟接受邮件,除非: 邮件服务器的域或其父级都没有 SPF 策略;或 SPF 为其域或其父级传递 SPF 验证。软通过被视为失败。
正如我所指出的,许多大型组织未能发布他们的 DKIM 公钥。因此,我怀疑 DKIM 本身失败会导致很多问题。有效的 DKIM 签名似乎确实有助于建立可信度/信任。但是,如果您发布了 DMARC 记录,则可能会应用其政策。
发布域的 DMARC 记录允许您使您的 SPF 和 DKIM 签名策略可用于自动验证。DMARC 允许接收服务器向您发送有关您的域的电子邮件来自何处以及如何处理它们的详细信息。Gmail 和 Yahoo 都向我发送报告。从仅通知策略开始,直到您确定您的邮件已正确签名并且 SPF 正常工作。