“用自己的域名收发邮件”是将 yourcompany.com 从网站地址变成可用邮件目的地的过程。完整的配置流程包括 DNS 记录、邮箱开通、身份验证和核验。整个工作分为五个具体步骤,任何运营者都能在一个下午内完成。无需管理服务器,只需在控制面板中操作并复制粘贴 DNS 记录。
大多数设置指南只介绍某个特定服务商的控制面板。下面五个步骤不依赖服务商,适用于 TrekMail、Workspace、Zoho 或任何可靠的邮箱托管服务。分别列出每个步骤,可以清楚展示它们之间的依赖关系。
本指南将介绍完整配置,并在每一步提供具体检查方法。更全面的操作指南请参阅如何用域名创建电子邮件。
“用自己的域名收发邮件”究竟是什么意思
用自己的域名收发邮件,就是配置 DNS 记录,把入站邮件路由到邮箱托管服务,并验证出站邮件的身份,让接收方可以信任它。配置涉及五条 DNS 记录,包括 MX、SPF、DKIM、DMARC,以及一条用于验证域名的 TXT。每条记录的用途和格式都不同。
邮箱托管服务提供记录值,由你在 DNS 托管商处发布。整个配置不依赖特定服务商。无论邮件投递到 TrekMail、Workspace 还是其他可靠的托管服务,使用的都是同样五条记录。以后更换邮箱托管服务,只需更新这五条记录,让它们指向新服务。
五个配置步骤
用自己的域名收发邮件所需的一切都包含在五个步骤中。顺序十分重要:先配置 MX,再配置身份验证;先完成身份验证,再测试;先测试,再收紧 DMARC。每一步的结果都是下一步的基础。跳过任何一步,都会导致后续故障,而排查故障的时间会超过完成该步骤本身。
- 将 MX 记录指向邮箱托管服务。设置两条或三条带优先级值的 MX 记录。
- 发布 SPF 记录。用一条 TXT 记录列出获得授权的发送方。
- 为每个发送方发布 DKIM。每项邮件签名服务使用一条 TXT 记录。
- 以 p=none 发布 DMARC。用一条 TXT 记录指定报告地址。
- 往返测试并收紧 DMARC。在三个接收方处确认 PASS,然后在两周后将 DMARC 改为 p=quarantine。
无论你的域名用于 1 个邮箱还是 1,000 个邮箱,这五步流程都相同。记录数量取决于发送方数量,而不是邮箱数量。增加邮箱无需新增 DNS 记录,增加外部发送方则需要,例如营销平台、事务邮件服务或 CRM。每个新发送方都需要自己的 DKIM selector。
第 1 步:将 MX 记录指向邮箱托管服务
用自己的域名收发邮件的第一步,是发布指向邮箱托管服务邮件服务器的 MX 记录。邮箱托管服务会提供两条或三条 MX 值,并附有表示故障转移顺序的优先级数字 (10, 20, 30)。接收方会先尝试优先级数字最低的值,如果该值不可用,再转向更高的数字。
应当发布邮箱托管服务提供的全部 MX 值,而不只是优先级数字最低的一条。在主邮件服务器偶尔离线时,这种冗余非常重要。没有备用 MX 记录,入站邮件会在故障期间退回,而不是进入队列等待重试。
第 2 步:发布 SPF 记录
用自己的域名收发邮件的第二步是设置 SPF 记录。SPF 声明哪些服务器可以发送自称来自你域名的邮件。记录是位于域名根目录的一条 TXT。对于只通过 TrekMail 发送邮件的 TrekMail 托管配置,语法示例为 v=spf1 include:_spf.trekmail.net ~all。
如果还有其他发送方,例如营销平台或事务邮件服务,也要加入它们的 SPF 记录。每条 include: 指令计为一次 DNS 查询,整个解析树中的查询总数必须少于 10 次。每季度审核 SPF 记录,在查询数量逐渐达到上限并导致正常邮件退回之前发现问题。
第 3 步:为每个发送方发布 DKIM
用自己的域名收发邮件的第三步是设置 DKIM。它以加密方式签署出站邮件,以便接收方验证。每项使用你的域名作为“发件人”发送邮件的服务,都需要在一个唯一 selector 下拥有自己的 DKIM 记录。邮箱托管服务会生成自己的 DKIM 记录,营销平台和事务邮件发送方则分别提供自己的记录。
这些记录以 TXT 形式发布在各 selector 对应的子域名中:TrekMail 的 selector 使用 trekmail._domainkey.yourcompany.com,Mailgun 的 selector 使用 mailgun._domainkey.yourcompany.com,其他服务依此类推。每条记录都是很长的 base64 字符串,必须粘贴为一个连续且没有换行的 TXT 值。更深入的身份验证说明请参阅电子邮件身份验证 SPF DKIM DMARC。
第 4 步:以 p=none 发布 DMARC
用自己的域名收发邮件的第四步是设置 DMARC。它告诉接收方,在 SPF 或 DKIM 失败时如何处理邮件。先使用 p=none 两周。报告会列出每个声称代表你域名的 IP、SPF/DKIM 结果以及是否完成对齐。审核过程可以发现第二步中遗漏的正常发送方。
DMARC 记录的格式为 v=DMARC1; p=none; rua=mailto:dmarc-reports@yourcompany.com。把 rua 地址替换为你确实会查看报告的邮箱。使用 p=none 两周且报告无异常后,收紧为 p=quarantine。再经过一个月的无异常报告后,收紧为 p=reject。这种逐步实施的策略可以防止正常邮件在审核阶段被退回。
第 5 步:往返测试并收紧 DMARC
用自己的域名收发邮件的第五步是往返测试。从新邮箱向 Gmail、Outlook.com 和 Yahoo 地址分别发送邮件。打开收到的每封邮件并检查标头。三封邮件都应显示 SPF=PASS、DKIM=PASS、DMARC=PASS。任何 FAIL 都意味着某条记录需要修正,之后才能承载真实流量。
在 p=none 下运行两周,DMARC 报告无异常且所有检查都通过后,将策略收紧为 p=quarantine。以隔离模式运行一个月并保持报告无异常后,再收紧为 p=reject。成熟配置的稳定 DMARC 策略是 p=reject,并每月审阅报告。另一种角度的操作指南请参阅在自己的域名上设置电子邮件。
需要逐步实施策略,是因为第一周就采用 p=reject,会退回来自尚未完成身份验证的发送方的正常邮件。以 p=none 进行两周审核,可以通过报告发现每个正常发送方。以 p=quarantine 运行一个月,可以确认修正持续有效。只有到这时,p=reject 才安全。跳过逐步实施会破坏正常邮件,并引发客户向你投诉,而不是向配置错误的发送方投诉。
大多数使用自己域名收发邮件却跳过逐步实施的运营者,都会在几天内付出代价。DMARC 报告队列中充满遭隔离的邮件。入站回复不再到达。解决办法是恢复 p=none,并重新开始审核期。第一次跳过流程节省的时间会全部损失,甚至付出更多。
多发送方配置
使用自己的域名收发邮件时,多发送方配置的特殊之处在于,每项用你的域名签署邮件的外部服务,都需要在 DNS 托管商处拥有自己的 DKIM selector。营销平台、事务邮件服务、CRM 工具和支持工单系统都需要自己的 selector,才能与你的域名对齐。
最常见的情况是:小型企业最初只使用一项邮箱托管服务,六个月后添加营销平台,随后添加事务邮件发送方,最后又添加带内置邮件功能的 CRM。每次添加都需要配置自己的 DKIM selector。不清楚这一点的运营者,会发现随着越来越多未正确验证的服务加入流程,邮件进入收件箱的比例逐渐下降。
如果没有为每个发送方配置 DKIM,这些服务发送的邮件即使在技术上通过 DKIM,也无法通过对齐,因为它们用自己的域名而不是你的域名签名。DMARC 汇总报告会在启用后的几天内显示这种对齐失败。解决方法是在每项服务中配置 selector,让它以你的域名签名。这项工作很烦琐,但每个发送方只需做一次。
后续步骤
用自己的域名收发邮件的完整配置共需大约两个小时,最终得到能可靠进入收件箱的设置。五条 DNS 记录:MX、SPF、DKIM、DMARC,并完成往返测试。无论有 1 个邮箱还是 1,000 个邮箱,流程都适用。
在 trekmail.net/pricing 免费试用 TrekMail Nano,无需银行卡。Nano 套餐包括 10 个域名 × 10 个邮箱;发送量增长后,Starter 可扩展至 50 × 100。概念性说明请参阅自定义域名电子邮件。
完成最初五步后,只需少量持续维护就能保持配置正常工作。每月阅读 DMARC 报告,确认没有未经授权的发送方冒用你的域名。每季度审核 SPF,在查询数量逐渐达到上限并导致正常邮件退回之前发现问题。每年核验 DKIM 轮换。TrekMail 会在所有套餐中自动处理轮换,但仍要确认已经完成。每年维护总时间不到 30 分钟,因此无需专职基础设施人员,也能切实使用自己的域名为多个品牌收发邮件。
管理多个域名的运营者需要为每个域名重复这五步,域名之间没有共享状态。每个域名都有自己的 MX、SPF、DKIM 和 DMARC 记录。TrekMail 的 bulk-domain endpoint 一次最多处理 500 个域名,将代理机构规模下原本需要数天的单域名开通工作缩短到数小时。