我有一个名为 的域名example.com
。我想在这个域名上设置两个邮件服务器。设置这些邮件服务器的主要目的是拥有两个不同的邮件服务器,就好像我们有两个不同的域名 => 所以它不是一个主服务器,另一个用于备份。
MX
域名的记录已经example.com
存在(所有发送到的邮件[email protected]
都会被递送到smtp.example.com
),因此我们有
@ 3600 IN MX 1 smtp.example.com
记录A
设置如下:
@ 600 IN A 12.12.12.12
smtp 3600 IN A 13.13.13.13
relay 3600 IN A 14.14.14.14</pre>
我们可以MX
为第二台邮件服务器添加新记录吗?
例如,我们设置一个relay.example.com
指向新邮件服务器(ip 14.14.14.14
)的新子域。这样,所有发送到 的邮件[email protected]
都将发送到relay.example.com
。
答案1
这应该可以做到:
@ 3600 IN A 12.12.12.12 ; irrelevant for mail routing
@ 3600 IN MX 1 smtp.example.com.
smtp 3600 IN A 13.13.13.13
relay 3600 IN MX 1 relay.example.com.
relay 3600 IN A 14.14.14.14
笔记:
- 最后的 MX 记录并非严格要求(根据标准,如果域名没有 MX 记录,则会尝试使用其 A 记录作为后备 - 但有些 MTA 可能不喜欢这样)
- 不要忘记区域文件中完全合格记录末尾的终止点!
为了避免混淆,这里有一个澄清的变体,它将所有针对 @subdom.example.com 的邮件发送到 MTA reply.example.com:
subdom 3600 IN MX 1 relay.example.com.
relay 3600 IN A 14.14.14.14
答案2
当然可以。一个域名可以有任意数量的MX
记录(因此,邮件服务器也可以)。您甚至可以在它们之间设置优先级。例如,MX
域名的记录gmail.com
如下(您可以通过命令获取host -t MX -v gmail.com
):
gmail.com. 3547 IN MX 5 gmail-smtp-in.l.google.com.
gmail.com. 3547 IN MX 10 alt1.gmail-smtp-in.l.google.com.
gmail.com. 3547 IN MX 20 alt2.gmail-smtp-in.l.google.com.
gmail.com. 3547 IN MX 30 alt3.gmail-smtp-in.l.google.com.
gmail.com. 3547 IN MX 40 alt4.gmail-smtp-in.l.google.com.
尝试将邮件投递到您域的外部邮件服务器应按照优先级升序排列。相同的优先级意味着冗余(尽管根据我的经验,这不是很好)。
在此示例中,第一次尝试为gmail-smtp-in.l.google.com.
,第二次alt.gmail-smtp-in.l.google.com
为 ,依此类推。优先级位于最后一列之前。
您可以在自己的域中设置一些类似的服务器。我在您的域中将其设置为辅助邮件服务器,以便在第一个服务器无法正常工作时进行备份。