邮件域名是经过配置,可以接收和发送电子邮件的普通域名(yourcompany.com)。配置包含四条 DNS 记录:MX、SPF、DKIM 和 DMARC。每条记录完成一项任务,四条记录共同为原本只承载网站的域名增加可靠处理邮件所需的基础。
大多数邮件域名说明没有逐条介绍记录,让经营者模糊地觉得 DNS 在执行某种神秘操作。事实并非如此复杂。这四条记录都是具有特定语法的简单文本条目,任何经营者都能通过 DNS 控制面板发布。了解每条记录的作用后,其余设置就会清晰许多。
本指南会逐一介绍四条记录的作用和语法。如需了解更完整的背景,请参阅自定义域名邮箱。
邮件域名究竟是什么
在现有配置中添加四条 DNS 记录,任何域名都可以用于处理电子邮件。MX 指向邮件服务器。SPF 列出获得授权的发件人。DKIM 为外发邮件添加加密签名。DMARC 告诉接收方身份验证失败时应如何处理。四条记录共同将空白域名变成能够正常运行的邮件域名。
同一个域名可以在根域名上托管网站,并通过该域名的地址处理邮件。四条记录不会与网站记录冲突,因为它们针对不同用途采用不同的记录类型。大多数实际运营的邮件域名也承载网站;两项服务可能位于不同服务商,并通过 DNS 协同工作。将邮件迁移到新托管服务商时,只需更新邮件相关记录,网站记录保持不变。
四条 DNS 记录概览
四条 DNS 记录定义了一个能够正常工作的邮件域名。每条记录都有特定的任务和语法。邮箱托管服务商生成准确的值,您再到 DNS 托管服务商处发布。下表总结了每条记录的作用及其在 DNS 树中的位置。
| 记录 | 作用 | 所在位置 | 是否必需? |
|---|---|---|---|
| MX | 将入站邮件路由到邮箱托管服务商 | yourcompany.com(根域名) | 是,没有它就无法收到入站邮件 |
| SPF | 列出获得授权的外发邮件发送方 | yourcompany.com(根域名,作为 TXT) | 是,没有它时外发邮件可能进入垃圾箱 |
| DKIM | 为外发邮件添加加密签名 | selector._domainkey.yourcompany.com(TXT) | 是,没有它时对齐会失败 |
| DMARC | 告诉接收方如何处理身份验证失败 | _dmarc.yourcompany.com(TXT) | 强烈建议,没有它时域名仿冒可能无法得到报告 |
除了 DNS 托管服务商的费用外,这四条记录本身不产生费用,Cloudflare 也提供免费服务。邮箱托管服务商生成值后,配置大约需要 15 分钟。它可以为可靠的收件箱送达、可见的仿冒报告,以及符合现代接收方审查的身份验证奠定基础。
记录 1:MX(邮件发送到哪里)
MX 指向接收入站邮件的邮件服务器。记录格式由优先级数字加服务器主机名组成。使用多个优先级不同的 MX 记录可以提供故障转移;接收方先尝试优先级值最低的记录,并在必要时改用更高的数字。
TrekMail 托管的邮件域名通常使用以下值:10 mx1.trekmail.net 和 20 mx2.trekmail.net。邮箱托管服务商会提供准确的值,您需要将它们全部发布到 DNS 托管服务商。如果只发布主要记录而不发布备用记录,那么主要服务器偶尔不可用时,邮件可能会被退回,而不是进入队列等待重试。
记录 2:SPF(谁可以发送)
SPF 声明哪些服务器可以发送声称来自您域名的邮件。它是根域名上的一条 TXT 记录,语法类似 v=spf1 include:_spf.trekmail.net ~all。每条 include: 指令都指向另一条 SPF 记录,其中列出实际的发信 IPs。配置错误可能导致合法邮件在不易察觉的情况下被退回。
每个使用您域名发信的外部服务,包括营销平台、交易邮件发送方和客服工单工具,都需要列入 SPF,可以直接使用 IP,也可以通过 include 列入。整个解析树必须保持在 10 次 DNS 查询以内。每季度审查 SPF 记录,在合法邮件开始退回之前发现查询次数逐渐逼近上限的问题。更深入的说明请参阅电子邮件身份验证 SPF DKIM DMARC。
记录 3:DKIM(加密签名)
DKIM 保存一个公钥,接收方用它验证外发邮件上的签名。邮箱托管服务商使用对应的私钥为每封邮件签名;接收方将签名与 DNS 中的公钥进行核对。签名验证通过可以确认发件人控制着该域名。
DKIM 记录发布在特定于选择器的子域名下:TrekMail 的选择器使用 trekmail._domainkey.yourcompany.com,Mailgun 的选择器使用 mailgun._domainkey.yourcompany.com,其他服务依此类推。每条记录都是很长的 base64 字符串,必须粘贴为一段连续且没有换行的 TXT 值。多个选择器可以共存;每个为您的邮件域名签名的服务都有自己的选择器。更深入的说明请参阅DKIM 设置。
许多经营者最初会忽略按发件服务分别配置的模式。初始设置六个月后添加的新营销平台需要自己的选择器。一年后添加的交易邮件发送方还需要另一个选择器。如果没有覆盖每个发件服务,对齐可能在不易察觉的情况下失败,来自这些服务的邮件也可能进入垃圾箱,即使邮件域名本身拥有正确的 SPF/DKIM/DMARC 配置。解决方法是为每个活跃发件服务设置一条 DKIM 记录。
记录 4:DMARC(策略与报告)
DMARC 告诉接收方 SPF 或 DKIM 失败时应如何处理。它是一条 TXT 记录,位于 _dmarc.yourcompany.com,语法类似 v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@yourcompany.com。p= 值用于设置策略(none、quarantine 或 reject)。rua= 地址用于接收汇总报告。
先使用 p=none 审查两周。报告会显示每个声称从您的邮件域名发信的 IP,以及对齐是否成功。报告连续两周无异常后,可以收紧为 p=quarantine。再过一个月,可以收紧为 p=reject。逐步实施可降低审查阶段合法邮件被退回的风险,因为此时可能会发现之前忘记进行身份验证的发送方。
四条记录如何协同工作
四条记录作为一个体系协同工作。MX 将入站邮件送到正确的服务器。SPF 声明哪些外发邮件发送方是合法的。DKIM 让接收方能够验证加密签名。DMARC 将 SPF 和 DKIM 结合起来,并告诉接收方任何一项失败时应如何处理。
各记录之间的配合使整个体系发挥作用。只有 SPF 而没有 DKIM,意味着大多数外发邮件无法通过 DMARC 对齐,因为对齐通常检查 DKIM 而不是 SPF。只有 DKIM 而没有 DMARC,接收方就不知道 DKIM 失败时应如何处理。DMARC 设为 p=reject 时,如果没有正确覆盖 SPF 和 DKIM,可能导致合法邮件被退回。四条记录需要一起配置;只覆盖一部分可能损害送达率,而不是逐步改善它。
TrekMail 如何生成四条记录
TrekMail 在设置域名时为全部四条记录生成准确的值。在控制面板中添加域名;平台会生成指向 TrekMail 邮件服务器的 MX 值、SPF(包含 _spf.trekmail.net)、使用新生成密钥且位于 TrekMail 专用选择器下的 DKIM,以及 DMARC(使用 p=none 和默认报告地址)。您需要将各个值复制到 DNS 托管服务商的控制面板。
平台负责不会因经营者而异的部分:SPF include 路径、DKIM 密钥生成、密钥轮换计划和 DMARC 报告汇总。您负责会发生变化的部分:在哪个 DNS 托管服务商处发布记录、希望 DMARC 报告发送到哪个邮箱,以及何时收紧 DMARC 策略。更完整的背景请参阅域名邮箱。
后续步骤
正常工作的邮件域名由四条 DNS 记录组成,它们需要正确发布到您控制的 DNS 托管服务商。MX 路由入站邮件。SPF 声明获得授权的发送方。DKIM 为外发邮件签名。DMARC 通过策略和报告将一切联系起来。发布四条记录约需 15 分钟,只要坚持季度审查,它们就能为多年稳定送达收件箱提供支持。
前往 trekmail.net/pricing 免费试用 TrekMail Nano,无需银行卡,也没有试用到期日。Nano 套餐支持 10 个域名 × 10 个邮箱;发信量超过 Nano 上限时,$4/月的 Starter 可将容量扩展到 50 × 100。
这四条记录适合遵循“一次设置、每季度审查”的方法。MX 在设置后很少改变。随着运营项目增加营销平台和交易邮件服务,SPF 会在几个月内不断加入新的发送方。大多数平台会自动轮换 DKIM 密钥。DMARC 报告会持续送达,并揭示合法发送方的变化和域名仿冒尝试。季度审查并不繁重,并能预防许多因初始设置后忽略记录而出现的送达率问题。
对于拥有多个品牌域名的经营者,每个邮件域名都需要分别重复四条记录的设置。MX 值指向同一个邮箱托管服务商;SPF、DKIM 和 DMARC 记录则按域名发布。TrekMail 的批量域名端点(一次最多 500 个域名)可以显著减少代理机构规模下逐个域名设置的工作。
四条记录体系也是出现问题时的诊断顺序。收不到入站邮件?检查 MX。外发邮件进入垃圾箱?检查 SPF 和 DKIM。仿冒报告大量涌入?检查 DMARC 策略。每种故障模式都指向一条特定记录,可以加快排查速度。