Domain IP Lookup

一封邮件如何找到您的邮件服务器

发件人

you@gmail.com

MX 查询

谁来收邮件?

邮件服务器

优先级 10 优先

收件箱

已送达

优先级数值最小者优先;数值较大的作为备用

实用指南

什么是 MX 记录?邮件路由详解

5 分钟阅读

当有人向 you@example.com 发送邮件时,对方的邮件服务器首先要回答一个问题:哪台机器接收 example.com 的邮件?答案就是 MX 记录。

MX 是 Mail Exchange(邮件交换)的缩写。没有它,即使网站运行完全正常,发往您域名的邮件也会被退回。网站记录和邮件记录是完全相互独立的。

一封邮件如何找到您的邮件服务器

发件人

you@gmail.com

MX 查询

谁来收邮件?

邮件服务器

优先级 10 优先

收件箱

已送达

优先级数值最小者优先;数值较大的作为备用

每一封外发邮件,都是从对收件人域名的 MX 查询开始的。

MX 记录是什么样子

典型的 Google Workspace 配置
example.com.    3600    IN    MX    1     aspmx.l.google.com.
example.com.    3600    IN    MX    5     alt1.aspmx.l.google.com.
example.com.    3600    IN    MX    5     alt2.aspmx.l.google.com.
example.com.    3600    IN    MX    10    alt3.aspmx.l.google.com.

主机名之前的数字就是优先级(有时也称为偏好值),其余部分都是标准的记录内容。

优先级究竟如何运作

发送服务器会按优先级对您的 MX 记录排序,并依次尝试。如果数值最小的主机拒绝连接或超时,它就会转向下一个。这是真正的冗余:即使有一台服务器宕机,邮件仍能继续流转。

优先级相同的记录,比如上面的两条 5,会进行负载均衡。发送方在它们之间随机选择,把流量分摊到两者上。

MX 目标必须遵守的规则

  • 目标必须是主机名,而不是 IP 地址。MX 10 93.184.216.34 是无效的;请使用 MX 10 mail.example.com.,并在该名称上配置 A 记录。
  • 目标不能是 CNAME。规范要求 MX 目标必须直接解析到地址记录,否则某些邮件服务器会拒绝投递。参见 CNAME 与 A 记录。
  • 目标需要有自己的 A 或 AAAA 记录。MX 指向一个无法解析的名称,等同于根本没有 MX。

Null MX:声明域名不发送邮件

如果某个域名永远不会接收邮件,请用一条指向根区域的 MX 记录明确说明这一点:

RFC 7505 null MX
example.com.    3600    IN    MX    0    .

目标仅为一个 .,意思是该域名不接收邮件。发送方会立即以永久性错误拒绝,而不是重试数日,同时也让该域名不那么容易成为欺骗的目标。对于您拥有的每一个不用于邮件的域名,都值得这样设置。

没有 MX 记录时会怎样

历史上的回退机制是,发送方会尝试域名的 A 记录,并在那里尝试投递。依赖这一机制并不明智:不同邮件服务器的行为各不相同,而且如果您的 A 记录指向的是没有运行邮件守护进程的 Web 服务器或 CDN,邮件就会被退回。

核心要点

想收邮件,就发布明确的 MX。不想收邮件,就发布 null MX。留空并寄希望于 A 记录回退机制生效,正是域名悄悄丢失邮件的原因。

MX 记录并不是全部

MX 决定邮件被投递到哪里。另外三种记录则决定它是否受信任,没有它们,您的合法邮件就会落入垃圾邮件文件夹:

  • SPF:一条 TXT 记录,列出哪些服务器可以以您的域名名义发信。
  • DKIM:一条 TXT 记录,发布用于为您外发邮件签名的密钥。
  • DMARC:一条 TXT 记录,告诉接收方当 SPF 或 DKIM 验证失败时该如何处理。

这三者都在 SPF、DKIM 与 DMARC 详解中有所介绍。第四个因素是反向 DNS,它对直接发信的服务器很重要。

会导致邮件丢失的故障,以及如何发现它们

MX 配置错误很少会自己暴露出来。邮件不会就此中断,而是变少、延迟到达,或者只有某一个发件人抱怨,而其他人都正常。这些模式值得认清。

记录指向了您已不再使用的服务商

这是邮件莫名丢失最常见的原因。迁移之后,旧服务商的 MX 记录与新记录并存,于是发送方按优先级在它们之间分配,一部分邮件就落入了无人查看的邮箱。症状:有些发件人的邮件能到,有些则消失了,而且没有任何退信。

MX 目标没有地址记录

当 mail.example.com 无法解析时,MX 指向它在功能上等同于根本没有 MX。发送方要么立即退信,要么排队重试数日后才放弃。请务必验证目标能够解析,而不只是确认 MX 记录存在。

防火墙屏蔽了 25 端口

DNS 完美无缺,服务器却无法访问。入站 SMTP 通过 25 端口到达,而云服务商通常会在新实例上默认屏蔽该端口。MX 查询成功,连接却始终无法完成,发送方只能悄悄地排队。

检查您的 MX 记录

按优先级排序
dig +short example.com MX

查询工具返回的 MX 记录已按优先级排好序,null MX 也会被明确显示出来,而不是显示成一个令人困惑的空值,这样您一眼就能确认,主服务器是否正是您所预期的那一个。

需要查看某个域名的公网 DNS 地址?使用 Domain IP Lookup 工具。

本主题的免费工具

常见问题