邮件记录配置实战
High Contrast
Dark Mode
Light Mode
Sepia
Forest
3 min read609 words

邮件记录配置实战

Google Workspace 为例,完整配置 MX、SPF、DKIM、DMARC 四类记录,其他邮件服务(SendGrid、Mailgun)流程类似。


配置前的准备

  1. 确认你使用的邮件服务(Google Workspace、Zoho、Fastmail、SendGrid 等)
  2. 登录该邮件服务后台,找到 DNS 配置指南
  3. 记录当前所有 DNS 记录(备份,以防配置出错)

Step 1:配置 MX 记录

MX 记录告诉其他邮件服务器,发给 @example.com 的邮件该送到哪。

Google Workspace 的 MX 记录:

类型 名称 优先级 TTL
MX @ aspmx.l.google.com 1 3600
MX @ alt1.aspmx.l.google.com 5 3600
MX @ alt2.aspmx.l.google.com 5 3600
MX @ alt3.aspmx.l.google.com 10 3600
MX @ alt4.aspmx.l.google.com 10 3600

验证:

dig example.com MX
# 应该看到 google 的 MX 记录
# example.com.  3600  IN  MX  1  aspmx.l.google.com.

Step 2:配置 SPF 记录

Google Workspace SPF:

类型: TXT
名称: @(即 example.com)
值: "v=spf1 include:_spf.google.com ~all"
TTL: 3600

如果同时用多个发件服务(常见组合):

# Google Workspace + SendGrid
"v=spf1 include:_spf.google.com include:sendgrid.net ~all"
# Google Workspace + Mailgun + 自己的服务器
"v=spf1 include:_spf.google.com include:mailgun.org ip4:203.0.113.5 ~all"

SPF 限制:一个域名只能有一条 SPF 记录(TXT 类型,v=spf1 开头)。多条会导致验证失败。

验证:

dig example.com TXT | grep spf

Step 3:配置 DKIM

DKIM 需要邮件服务提供商生成密钥对,你把公钥放到 DNS 里。

Google Workspace 配置步骤:

  1. 登录 Google Admin Console → Apps → Google Workspace → Gmail → Authenticate email
  2. 点击 Generate new record,选择 2048 位密钥
  3. Google 给你一个 TXT 记录:
类型: TXT
名称: google._domainkey.example.com
值: "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUA..."(很长的公钥字符串)
TTL: 3600
  1. 在 DNS 中添加这条记录
  2. 回到 Google Admin → 点击 Start authentication

注意:名称是 google._domainkey(含选择器前缀),不是 _domainkey

验证:

dig google._domainkey.example.com TXT

Step 4:配置 DMARC

推荐分三阶段部署:

阶段 1:监控模式(p=none)

类型: TXT
名称: _dmarc.example.com
值: "v=DMARC1; p=none; rua=mailto:dmarc@example.com"
TTL: 3600

保持 2–4 周,观察 DMARC 报告,确认所有合法发件来源都通过了 SPF 和 DKIM 验证。

阶段 2:隔离模式(p=quarantine)

"v=DMARC1; p=quarantine; pct=25; rua=mailto:dmarc@example.com"

先对 25% 的邮件应用策略,观察一周,逐步提高到 100%。

阶段 3:严格拒绝(p=reject)

"v=DMARC1; p=reject; rua=mailto:dmarc@example.com; ruf=mailto:dmarc@example.com"

ruf 是单封失败邮件的报告地址(forensic reports)。

验证:

dig _dmarc.example.com TXT

完整配置示例(Google Workspace)

# MX 记录
@    MX    aspmx.l.google.com    优先级=1
@    MX    alt1.aspmx.l.google.com    优先级=5
@    MX    alt2.aspmx.l.google.com    优先级=5
@    MX    alt3.aspmx.l.google.com    优先级=10
@    MX    alt4.aspmx.l.google.com    优先级=10
# SPF
@    TXT    "v=spf1 include:_spf.google.com ~all"
# DKIM
google._domainkey    TXT    "v=DKIM1; k=rsa; p=..."
# DMARC
_dmarc    TXT    "v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com"

常见配置错误

错误 后果 修复
多条 SPF 记录 所有 SPF 验证失败 合并成一条
SPF 超过 10 个 DNS 查询 解析超限,验证失败 减少 include 数量
DKIM 未在邮件服务后台启用 DNS 记录存在但签名无效 回服务商后台激活
DMARC 记录名称写错 无效(应为 _dmarc.example.com 检查 TXT 记录名称

下一节邮件投递率诊断——配置完了还是进垃圾箱?系统化排查邮件投递问题。