什么是 MX 记录?

MX 记录指定接收某个域名邮件的服务器。发邮件时,发件方服务器先查收件人域名的 MX 记录,得到邮件服务器的地址,再把邮件送过去。MX 记录带优先级,数字越小越先被尝试,用于多台服务器的容灾。

第 32 期介绍过,DNS 记录定义域名如何使用,其中 MX 记录(Mail Exchanger,邮件交换记录)专门负责邮件。它指定接收某个域名邮件的服务器,是邮件投递的第一步。

发邮件时,发件方的邮件服务器拿到收件人地址,取出 @ 后面的域名,向域名系统查询这个域名的 MX 记录。查询结果返回邮件服务器的域名,发件方再连接那台服务器投递邮件。例如发往 user@example.com 的邮件,发件方会先查 example.com 的 MX 记录,找到 example.com 的邮件服务器。

MX 记录带一个优先级数字,数字越小优先级越高。一个域名可以配置多条 MX 记录指向不同服务器,发件方按优先级从低到高依次尝试,某台服务器不可达时转向下一台,实现容灾。优先级数字相同的一组服务器,则按其他规则分摊负载。

邮件路由之所以用专门的 MX 记录,而不是直接用 A 记录指向邮件服务器,是因为 MX 需要表达优先级和邮件服务器这层语义,普通的地址记录做不到。