首页帮助指南SPF DKIM DMARC设置

SPF/DKIM/DMARC 邮件安全记录设置完整教程

MX + SPF + DKIM + DMARC 一条龙配置,让你的邮件不再进垃圾箱

为什么需要配置这些记录?

很多企业开通邮箱后只配了MX记录就以为万事大吉了。这是最常见的配置错误。只配MX可以收发邮件,但缺少SPF/DKIM/DMARC会导致:

  • 邮件进垃圾箱——Gmail、Outlook等大型邮件服务商对缺少安全验证的邮件会降低信任度
  • 被冒名发送——任何人都可以用你的域名发垃圾邮件,损害公司声誉
  • 海外退信率高——海外邮件服务器对安全验证要求更严格
  • 邮件被拒收——2024年起Google/Yahoo强制要求大批量发件人配置DMARC

完成以下四项配置后,你的邮件安全性将提升到企业级标准,送达率显著提高。

配置总览:四步配齐邮件安全体系

步骤记录类型作用优先级
1MX记录指定邮件服务器地址,邮件收发的基石必须
2SPF记录(TXT)声明哪些服务器有权以你的域名发邮件,防冒用必须
3DKIM记录(CNAME)邮件数字签名,确保内容未被篡改强烈建议
4DMARC记录(TXT)定义验证失败的处理策略,获取安全报告建议配置

第一步:配置MX记录(邮件交换记录)

MX(Mail Exchange)记录告诉互联网"发往你域名的邮件应该送到哪台服务器"。没有MX记录,你的域名根本无法接收邮件。

阿里云企业邮箱MX记录值

在域名注册商(如阿里云万网、腾讯云、GoDaddy等)的DNS管理后台,添加以下MX记录:

主机记录    记录类型    记录值                    优先级(MX)    TTL
@           MX         mx1.qiye.aliyun.com       5            600
@           MX         mx2.qiye.aliyun.com       10           600
@           MX         mx3.qiye.aliyun.com       15           600

重要提示:

  • MX记录的主机记录通常填 @(代表主域名本身)
  • 优先级数字越小越优先,阿里云建议 mx1=5, mx2=10, mx3=15
  • 如果使用子域名(如 mail.mycompany.com),需要额外配置
  • 配置前建议将TTL调低至600秒,加快生效和调试

第二步:配置SPF记录(发件人策略框架)

SPF(Sender Policy Framework)是一种邮件验证协议。它通过DNS中的TXT记录声明"哪些邮件服务器有权限使用你的域名发邮件"。接收方服务器会检查这封邮件是否来自你授权的服务器——如果不是,就会被标记为可疑。

SPF记录配置值

在DNS管理后台添加一条TXT记录:

主机记录    记录类型    记录值
@           TXT         v=spf1 include:spf.qiye.aliyun.com -all

SPF记录值解读

参数含义
v=spf1使用SPF协议版本1
include:spf.qiye.aliyun.com包含阿里云企业邮箱的SPF配置(授权阿里云服务器发送)
-all严格模式:除上述声明外,其他所有服务器发送的邮件一律拒绝(推荐)

扩展场景:如果你的公司还使用其他邮件发送服务(如SendGrid、Mailchimp等),需要在SPF中追加对应的include,例如:

v=spf1 include:spf.qiye.aliyun.com include:spf.sendgrid.net -all

注意:SPF记录中最多允许10次DNS查询(include也算一次查询),超出的include不会被检查。建议控制在3-5个include以内。

⚠️ SPF常见错误

  • 使用 ~all 而不是 -all:~all 是软拒绝(标记但不拒绝),-all 是硬拒绝(直接拒收)。建议用 -all 获得更严格的安全保护
  • 一个域名有多条SPF记录:一个域名只能有一条SPF记录。如果需要包含多个服务商,用一条记录多个include即可
  • 忘了更新SPF:换邮箱服务商后,必须更新SPF记录,否则旧服务商的授权仍保留

第三步:配置DKIM记录(域名密钥识别邮件)

DKIM(DomainKeys Identified Mail)使用数字签名技术验证邮件。发送邮件时,阿里云邮件服务器会用私钥对邮件内容签名;接收方服务器通过DNS中的公钥(即DKIM记录)验证签名。如果签名验证通过,说明邮件确实来自你的域名且内容未被篡改。

SPF vs DKIM:两者配合才完整

  • SPF验证"发送来源"——确认邮件是从被授权的服务器发出的
  • DKIM验证"内容完整性"——确认邮件内容在传输过程中没有被篡改

两者配合使用,才能构建完整的邮件安全验证链。

阿里云企业邮箱DKIM配置步骤

DKIM的记录值由阿里云企业邮箱系统自动生成,每个域名不同。获取方式:

  1. 登录阿里云企业邮箱管理后台(admin.qiye.aliyun.com)
  2. 进入「安全管理」→「DKIM设置」
  3. 系统会生成一对DKIM记录(主机记录名 + 记录值)
  4. 将这两条CNAME记录添加到你的域名DNS中

DKIM记录格式示例(实际值以系统生成为准):

主机记录                          记录类型    记录值                              TTL
aliyundkim._domainkey.yourdomain   CNAME      aliyundkim._domainkey.qiye.aliyun    600
aliyundkim2._domainkey.yourdomain  CNAME      aliyundkim2._domainkey.qiye.aliyun   600

注意:DKIM配置后需要在阿里云后台点击"验证",确认DNS记录已生效。生效后发出去的每一封邮件都会自动带上DKIM签名。

第四步:配置DMARC记录(基于域的消息认证报告与一致性)

DMARC(Domain-based Message Authentication, Reporting & Conformance)是在SPF和DKIM基础上的策略层。它做两件事:

  1. 定义策略——当SPF或DKIM验证失败时,收件服务器该怎么处理(放行、隔离到垃圾箱、还是直接拒收)
  2. 发送报告——让你知道谁在用你的域名发邮件(包括合法和非法使用)

DMARC记录配置

在DNS管理后台添加一条TXT记录:

主机记录          记录类型    记录值
_dmarc            TXT         v=DMARC1; p=none; rua=mailto:admin@yourdomain.com; ruf=mailto:admin@yourdomain.com; pct=100; sp=none; aspf=r; adkim=r;

DMARC参数详解

参数含义推荐值
v=DMARC1协议版本DMARC1
p=none验证失败时的策略:none=不处理,quarantine=隔离到垃圾箱,reject=拒收none(初期)→ reject(稳定后)
rua=mailto:...接收聚合报告(每日汇总)的邮箱地址管理员邮箱
ruf=mailto:...接收取证报告(每封失败邮件的详情)的邮箱地址管理员邮箱(可选)
pct=100应用策略的邮件百分比100(全部应用)
sp=none子域名的策略(独立于主域名)none(初期)
aspf=rSPF对齐模式:r=宽松,s=严格r(推荐)
adkim=rDKIM对齐模式:r=宽松,s=严格r(推荐)

💡 DMARC最佳实践

  • 第一阶段(监控期):设置 p=none,观察1-2周,查看报告确认所有合法邮件都通过了SPF/DKIM验证
  • 第二阶段(过渡期):设置 p=quarantine,将有问题的邮件隔离到垃圾箱,再观察1周
  • 第三阶段(强制执行期):设置 p=reject,所有验证失败的邮件直接拒收,安全等级最高
  • rua报告的邮箱建议用独立的管理邮箱,避免和其他邮件混在一起

如何验证配置是否生效?

配置完成后,不要凭感觉判断。用以下工具和方法来验证:

方法一:在线检测工具(推荐)

  • MXToolbox(mxtoolbox.com)——检测MX、SPF、DKIM、DMARC记录是否配置正确
  • DKIMValidator(dkimvalidator.com)——发送一封测试邮件,验证DKIM签名是否有效
  • Mail Tester(mail-tester.com)——综合邮件质量评分(满分10分),检测送达率影响因素

方法二:命令行检测

在终端中执行以下命令查看DNS记录:

# 检测MX记录
nslookup -type=MX yourdomain.com

# 检测SPF记录
nslookup -type=TXT yourdomain.com

# 检测DMARC记录
nslookup -type=TXT _dmarc.yourdomain.com

# 检测DKIM记录(记录名以实际为准)
nslookup -type=CNAME aliyundkim._domainkey.yourdomain.com

方法三:发送测试邮件

向Gmail和Outlook邮箱各发一封测试邮件,查看邮件头中的 "Authentication-Results" 字段。正确的验证结果应显示:

Authentication-Results: mx.google.com;
       spf=pass smtp.mailfrom=yourdomain.com;
       dkim=pass header.i=@yourdomain.com;
       dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=yourdomain.com

三个都是 pass 状态,说明SPF、DKIM、DMARC全部配置正确。

配置失败常见原因与排查

问题:MX记录配了但收不到邮件

排查:1)确认域名DNS服务器是否已切换到你修改记录的服务商;2)使用 nslookup 检查MX记录是否正确返回;3)确认域名是否有CNAME记录与MX冲突(根域名不要有CNAME);4)等待DNS传播时间(最长48小时)。

问题:SPF验证一直失败

排查:1)检查是否有多个TXT记录都以 "v=spf1" 开头(只能有一条SPF);2)确认include中的域名拼写正确;3)SPF记录中的DNS查询次数是否超过10次限制;4)使用 mxtoolbox.com 的SPF检查工具定位具体问题。

问题:DKIM签名验证失败

排查:1)确认DKIM记录已在阿里云邮箱后台启用;2)确认CNAME记录值完全正确(注意域名中的下划线和点号);3)DNS记录生效需要时间,等待10-30分钟后再测试;4)在阿里云后台重新生成DKIM记录并重新添加。

问题:DMARC报告收不到

排查:1)确认 rua 邮箱地址格式正确(mailto: 前缀);2)rua 报告是每日汇总,不是实时报告,需要等到次日;3)如果刚配置DMARC,部分邮箱服务商可能需要24-48小时才开始发送报告;4)检查 rua 邮箱是否设置了垃圾邮件过滤。

阿里云企业邮箱DNS完整配置汇总

如果你需要一次性配完所有记录,下面是完整配置清单(以域名 yourdomain.com 为例):

# === MX 记录(邮件交换 - 必须) ===
主机记录    类型    记录值                      优先级
@           MX      mx1.qiye.aliyun.com         5
@           MX      mx2.qiye.aliyun.com         10
@           MX      mx3.qiye.aliyun.com         15

# === SPF 记录(发件人验证 - 必须) ===
主机记录    类型    记录值
@           TXT     v=spf1 include:spf.qiye.aliyun.com -all

# === DKIM 记录(邮件签名 - 强烈建议) ===
# 实际值请在阿里云邮箱管理后台获取!
aliyundkim._domainkey    CNAME   aliyundkim._domainkey.qiye.aliyun
aliyundkim2._domainkey   CNAME   aliyundkim2._domainkey.qiye.aliyun

# === DMARC 记录(安全策略 - 建议配置) ===
主机记录    类型    记录值
_dmarc      TXT     v=DMARC1; p=none; rua=mailto:admin@yourdomain.com; pct=100; aspf=r; adkim=r;

# === CNAME 自动发现(方便客户端配置) ===
主机记录    类型    记录值
autodiscover  CNAME   autodiscover.qiye.aliyun.com

📌 操作提示

  • 配置前截图保存原始DNS记录,出问题可以快速恢复
  • 建议先将TTL调至600秒,等确认配置正确后再调回默认值
  • 修改后等待10-30分钟再用工具验证,不要急于测试
  • 如果自己搞不定,联系专属顾问,他们可以远程协助配置

作者:张明

企业邮箱技术顾问 · 8年企业IT服务经验 · 专注阿里云企业邮箱部署与迁移 · 已协助500+企业完成邮箱系统搭建

DNS配置遇到困难?

专属顾问可以远程协助,帮你一次性配好所有安全记录

联系顾问获取协助 →

无需自己摸索 · 15分钟搞定 · 同品质更优惠