说明:SMTP AUTH (PLAIN / LOGIN) 属于邮件客户端身份认证机制,与上面说的邮件域名认证机制(也叫做邮件认证机制,Email Authentication)是两码事。
邮件域名认证机制包括 SPF、DKIM、DMARC 三种:
-
SPF 校验(RFC 7208):当前 SMTP 会话的客户端 IP 是否被 MAIL FROM 域名授权发送邮件。
PS:优先使用 MAIL FROM(Envelope-From)域名,若 MAIL FROM 为空(<>),则使用 HELO/EHLO 域名。 -
DKIM 校验:DKIM 通过 DKIM-Signature 头中的
d=(Signing Domain,署域)和s=(Selector)从 DNS 获取公钥,对指定的 header 和 body 进行签名校验。dig txt selector._domainkey.signing-domain -
DMARC 校验(RFC 7489 Domain-based Message Authentication, Reporting, and Conformance (DMARC)):
DMARC 在 SPF、DKIM 基础上引入了域名 “对齐” (Alignment) 概念,要求邮件 FROM 头域名必须与 SPF 校验所使用的域名 或 DKIM 署域 中的至少一个保持对齐(一致),实践中通常是两者同时保持对齐。
PS:严格对齐就是要求域名部分完全一致,宽松对齐就是仅要求主域名 (eTLD + 1) 一致,对应 DMARC 记录的 aspf/adkim TAG 的值 r(relaxed mode)与 s(strict mode),如果没有指定,默认就是宽松对齐,实际上主流 MP 都没有指定。此外,DMARC 还提供了如果校验失败的处理策略框架 (none 监控 / quarantine 隔离 / reject 拒绝) 与反馈机制 (rua 汇总报告 / ruf 失败报告)。