SPF、DKIM、DMARC是邮件认证的三大核心协议,对于提升邮件送达率和防止域名被冒用至关重要。本文详细介绍三者的配置方法。
一、SPF(Sender Policy Framework)
作用
SPF记录指定哪些邮件服务器有权代表您的域名发送邮件。接收服务器通过查询SPF记录判断邮件是否来自授权服务器。
配置方法
在DNS中添加TXT记录:
域名: example.com
类型: TXT
值: v=spf1 include:_spf.google.com include:mail.mailserver.com ~all参数说明:
v=spf1:SPF版本include::包含其他域名的SPF记录~all:软失败(非授权服务器发送的邮件标记为可疑)-all:硬失败(直接拒绝)?all:中性(不做判断)最佳实践
~all 而非 -all(避免误伤)二、DKIM(DomainKeys Identified Mail)
作用
DKIM为邮件添加数字签名,接收服务器可验证邮件内容在传输过程中未被篡改,且确实来自声称的发送域名。
配置方法
- 生成密钥对:
openssl genrsa -out dkim_private.pem 2048
openssl rsa -in dkim_private.pem -pubout -out dkim_public.pem- 在DNS中添加公钥记录:
域名: selector._domainkey.example.com
类型: TXT
值: v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQ...- 在邮件服务器中配置私钥签名
最佳实践
三、DMARC(Domain-based Message Authentication)
作用
DMARC整合SPF和DKIM的验证结果,并告诉接收服务器如何处理未通过验证的邮件。
配置方法
在DNS中添加TXT记录:
域名: _dmarc.example.com
类型: TXT
值: v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com; ruf=mailto:dmarc@example.com; pct=100; adkim=s; aspf=s参数说明:
p=quarantine:策略(none/monitor, quarantine/隔离, reject/拒绝)rua=:汇总报告接收邮箱ruf=:详细报告接收邮箱pct=100:应用比例adkim=s:DKIM对齐模式(s=严格, r=宽松)aspf=s:SPF对齐模式(s=严格, r=宽松)DMARC部署阶段
- 监控阶段(p=none):只收集数据,不影响邮件投递
- 隔离阶段(p=quarantine):将未通过验证的邮件放入垃圾箱
- 拒绝阶段(p=reject):直接拒绝未通过验证的邮件
建议从 p=none 开始,观察2-4周数据后逐步升级策略。
四、三件套的效果
| 认证方式 | 作用 | 送达率影响 |
|----------|------|-----------|
| SPF | 防止域名被冒用 | +5-10% |
| DKIM | 防止内容被篡改 | +5-10% |
| DMARC | 统一认证策略 | +5-15% |
| 三者配合 | 全面保护 | +15-30% |
五、验证配置
配置完成后,使用以下工具验证:
- 发送测试邮件到 autocheck+dkim@vali.email
- 使用 MX Toolbox 的 SPF/DKIM/DMARC 检查工具
- 查看 DMARC 报告,监控验证通过率
总结
SPF、DKIM、DMARC三件套是邮件发送方必须配置的基础认证。正确配置后可以显著提升邮件送达率、防止域名被冒用、保护品牌信誉。建议企业按照监控→隔离→拒绝的渐进方式部署DMARC,确保不影响正常邮件投递。