MX 和 CNAME 是否互斥?

MX 和 CNAME 是否互斥?

我有一个域名,该域名使用我的另一个域名来处理邮件。我无法配置它以使所有邮件客户端都能与我的域名很好地兼容。

就和而言foobarfoo.com我的“主要”服务器:

  • foo.com我的邮件服务器
  • foo.com:MX 记录 => IP 地址
  • mail.foo.com:MX 记录 => IP 地址
  • mail.foo.com:A记录=>IP地址

我的域名bar.com使用foo.com

  • bar.com:MX 记录 =>mail.foo.com
  • mail.bar.com:MX 记录 =>mail.foo.com

我无法添加以下内容mail.bar.com

  • mail.bar.com:CNAME 记录 =>mail.foo.com

当我尝试输入 CNAME 记录以便某些邮件客户端可以通过连接时mail.bar.com,出现错误:

Duplicate subdomains are not allowed between these record types: MX; CNAME

本质上这个错误是说我不能拥有:

  • mail.bar.com:MX 记录 =>mail.foo.com
  • mail.bar.com:CNAME 记录 =>mail.foo.com

我不太理解错误消息,因为资源记录指定了不同的服务。尝试向域发送电子邮件的人将使用 MX 记录;而尝试检索其电子邮件的人将使用 CNAME 记录。

我在看RFC 1035,但我没有看到标准在哪里禁止这种组合。我也尝试遵循一些更新的 RFC,但其中许多并不适用于基础服务实现。

MX 和 CNAME 是否互斥?如果是,有参考吗?


以下是相关问题:无法使用 Thunderbird 配置帐户(邮件帐户设置损坏)。Thunderbird 拒绝让我创建帐户。我尝试通过添加 CNAME 来调整 DNS,看看是否有帮助。

答案1

MX 和 CNAME 是否互斥?如果是,有参考吗?

CNAME 记录将一个名称映射到另一个名称。仅当该名称没有其他记录(MX、A 等)时才应使用它。(RFC 1034第3.6.2节,RFC 1912第 2.4 节)。

来自 RFC 1912 s. 2.4:

CNAME 记录不允许与任何其他数据共存。换句话说,如果 suzy.podunk.xx 是 sue.podunk.xx 的别名,那么您就不能同时拥有 suzy.podunk.edu 的 MX 记录、A 记录,甚至 TXT 记录

答案2

这有点儿扭曲了。让我们来理清它。

首先,您的邮件服务器不应称为 foo.com,您几乎肯定会希望附加到该服务器的 A 记录指向您的 Web 服务器,而不是您的邮件服务器。这没问题,因为您[email protected]使用 MX 记录设置电子邮件地址,这就是它们的用途。

我假设您将调用并配置您的邮件服务器,使其知道自己是mail.foo.com,即,这将是它的完全合格主机名。然后,您可以将其配置为邮件的最终目的地,[email protected]以及使用同一域的源电子邮件(发件人)。稍后,您还可以将其配置为[email protected]邮件的最终目的地,但现在先不要管它。

因此,目前您在 DNS 中需要的内容是:

foo.com.   IN MX  10 mail.foo.com.
mail.foo.com.  IN A  12.12.12.12

(当然,将 12.12.12.12 替换为您的邮件服务器的真实 IP 地址)

您还需要安排您的托管服务提供商放入一个 PTR 记录(反向映射条目),将 12.12.12.12 反向映射到您的邮件服务器的名称(mail.foo.com)。

这就是在 DNS 中邮件运行所需要的全部内容。

如果您现在想让您的邮件服务器接受邮件[email protected]。您需要做的就是添加另一个附加到 bar.com 域的 MX 记录以将邮件发送到您的邮件服务器,如下所示:

bar.com.   IN MX  10 mail.foo.com.

然后,当然,将您的邮件程序配置为 bar.com 邮件的最终目的地。

就这么简单。这样,附加到 foo.com 和 bar.com 的 A 记录就可以指向 Web 服务器了。

最后一步是添加发件人策略 (SPF) 记录,以便您可以指示这两个域的授权发送邮件程序 (MTA) 是谁。您可以像这样添加 TXT 记录:

foo.com.  IN TXT  "v=spf1 mx -all"
bar.com.  IN TXT  "v=spf1 mx -all"

您还可以进一步设置/配置 DKIM,但这涉及密钥和签名,因此会更复杂一些。Google 是您的好朋友。

希望有所帮助。

相关内容