关于MX记录的问题

Posted sfqas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于MX记录的问题相关的知识,希望对你有一定的参考价值。

问题
关于MX记录

解决方案
域名解析主要有4个主要类型:
NS DNS
MX 邮件
A IP地址
CNAME 别名

除了A记录,其他3个类型都是要解析到主机名的。
比如:
...
IN MX 0 mail
IN MX 10 mail.yourdomain.com.
...

我们来看一个邮件服务器在发信的时候,是怎么判断发送到那里的过程。
某邮件服务器要把一份邮件发送到webmaster@yourname.com的信箱。
此时,他会做两次DNS查询。
第一次,先查询yourname.com的mx记录,查出mx记录对应的主机名之后,再查询这个主机名对应的IP。
然后再将邮件发送到IP。
这个过程可以用dig命令模拟。
第一步:
dig +short yehglobal.com mx
结果:
0 mail.yehglobal.com.
10 mail.yehglobal.com.
第二步:
dig +short mail.yehglobal.com
结果:
210.78.128.66

有的服务商,错误地把mx记录直接解析到了IP地址。大部分的邮件服务器可以正常工作,但是会提示错误:Warning: numeric address in MX record!。
有的邮件服务器可能就会把IP地址当作一个主机名,致使邮件发不出去。

我们再来看有关mx记录的其他要注意的地方。
1. 多条mx记录
在刚才的例子中,我们看到,查询mx记录时返回了两条记录:
0 mail.yehglobal.com.
10 mail.yehglobal.com.
其中的0和10代表优先级,数越小,优先级越高。多条mx记录,一般情况下,是说邮件可以按顺序发送到这些主机,有的时候,多条记录可能是相同的(例子中的情况),
这是为了增加冗余和重试次数。
2. 相对主机名和绝对主机名
...
MX IN 0 mail
MX IN 10 mail.otherdomain.com.
...
这个例子中,一个记录是mail,另一条记录是mail.yourdomain.com.,第一条最后没有“.”字符的记录是相对主机名,实际上会被加上这个域名,
变成:mail.yourdomain.com.;第二条记录最后有“.”字符,代表一个绝对主机名,不会被转换。

综上所述,一般情况下,如果要解析一个域名的邮件记录,发送到某个IP,会在域名解析中解两条记录:
IN MX 0 mail
mail IN A 10.0.0.1

*** 如何在Prim@Hosting系统中,设置一个域名的邮件发送到另外一台服务器 ***
在使用Prim@Hosting系统的时候,在创建站点时,可以指定mail解析到哪个IP,在dns mx记录的框里填写另外服务器的IP地址就可以;
也可以使用子域名管理工具,在mail子域的A记录的框内填写另外服务器的IP地址。

*** 如何检验域名解析的正确 ***
使用dig命令。指定DNS服务器:
dig @dns1.yourname.com abc.com mx
dig @dns1.yourname.com mail.abc.com

以上是关于关于MX记录的问题的主要内容,如果未能解决你的问题,请参考以下文章

在DNS系统中的MX记录有啥作用

ruby 快速脚本调用Dyn的API(可选)删除Postini MX记录并添加小写的Google Mail MX记录。

如何使用 DNS 中的 MX 记录转发电子邮件

DNS记录类型介绍(A记录MX记录NS记录等)

如何在 python 中验证域的 MX 记录?

这些是重复的还是冗余的 MX 和 A 记录?