DKIM(域名密钥识别邮件)是一种邮件认证方法,为发出的邮件添加数字签名。这种加密签名允许接收邮件服务器验证邮件确实由声称的域名发送,并且邮件内容在传输过程中未被篡改。DKIM 是提高邮件送达率和防止邮件欺骗的关键技术。
DKIM 对邮件送达率和品牌保护至关重要。没有 DKIM,攻击者可以伪造看似来自你域名的邮件,损害你的声誉并可能欺骗你的客户。DKIM 还帮助你的合法邮件到达收件箱而不是垃圾箱。Gmail、Yahoo 和 Microsoft 等主要邮件提供商将 DKIM 验证作为判断是否信任收到邮件的关键因素。自 2024 年 2 月起,Google 和 Yahoo 要求所有批量邮件发送者进行 DKIM 认证。
DKIM 通过公钥加密技术工作。当你发送邮件时,你的邮件服务器使用存储在服务器上的私钥创建唯一的数字签名。这个签名作为 DKIM-Signature 字段添加到邮件头中。当接收服务器收到你的邮件时,它从你域名的 DNS 记录(存储为 TXT 记录)中获取公钥,并用它来解密和验证签名。如果签名匹配,就证明两件事:邮件确实来自你的域名,且邮件正文和关键头信息在签名后未被修改。
DKIM 选择器是在 DNS 记录中标识特定 DKIM 密钥的名称。它允许你为不同的邮件服务拥有多个 DKIM 密钥。例如,你可以为 Google Workspace 使用 "google" 作为选择器,为 SendGrid 使用 "sendgrid"。选择器出现在 DNS 记录名称(selector._domainkey.yourdomain.com)和 DKIM-Signature 头中。
SPF 验证邮件是否从授权的 IP 地址发送,而 DKIM 验证邮件内容是否被篡改以及是否由声称的域名签名。SPF 检查发送服务器;DKIM 检查消息完整性。两者都是必需的,并与 DMARC 一起实现完整的邮件认证。
设置 DKIM 涉及三个步骤:1)通过你的邮件服务提供商或邮件服务器生成公钥/私钥对,2)将公钥作为 TXT 记录发布到你域名的 DNS 中,3)配置你的邮件服务器使用私钥签名发出的邮件。大多数邮件服务提供商如 Google Workspace、Microsoft 365 和 SendGrid 都提供其特定设置的详细说明。
DKIM 失败的常见原因包括:DNS 记录格式不正确、邮件服务器和 DNS 之间的选择器不匹配、邮件被转发服务器或邮件列表修改、密钥过期或轮换后未在 DNS 中更新,或更改后 DNS 传播延迟。使用 DMARC 报告来识别具体的失败原因。