电子邮件转发和 CNAME 记录

电子邮件转发和 CNAME 记录

我有一个 Heroku 应用程序和一个映射到它的域。主机记录设置如下:域设置

现在我想发送电子邮件至[电子邮件保护]转发到我的 gmail 帐户。我的域名注册商的支持人员告诉我,由于我使用的是 CNAME 记录,因此这是不可能的,因为 MX 记录将被 CNAME 记录覆盖。这是真的吗?如果是,我该如何解决?

答案1

裸域名 cname 问题很常见。DNS 规范不允许您重定向裸域名。因此,许多 DNS 提供商不允许您将 @ 使用 cname。您的 DNS 提供商让 @ 记录使用 CNAME 的方式必定会干扰其他记录。

您的解决方法如下:

Google 运行的服务器除了将裸域名重定向到其他域名外不执行任何操作(例如,yourdomain.com 重定向到 www.yourdomain.com)。在您的 Google Apps 控制面板中,转到域名设置 -> 域名,然后按照说明将您的裸域名重定向到 www.yourdomain.com。在您的 DNS 设置中,让他们保留您的 www 记录,但将 @ CNAME 记录更改为 A 记录:向他们提供 Google 在其说明中提供给您的 IP 地址。让他们添加 Google 的 MX 记录,这样您就设置好了。

答案2

只要您拥有基本域的 CNAME,就不能拥有同名的 MX 记录。

您可以做两件事。您可以在 CNAME 指向的服务器上安装邮件服务器,并让该邮件服务器将所有邮件转发到您想要的任何位置。这样做的好处是,您可以根据需要设置许多不同的转发。

另一个选项是使用记录类型 A 而不是域的 CNAME。然后您可以根据需要添加任意数量的 MX 记录。

(原始错误答案 - 请忽略!他们错了。仅当 MX 记录列表为空时,才会使用 CNAME 记录。请参阅RFC 5321 第 5.1 节

答案3

RFC5321 规定,如果在查找 MX 记录时找到 CNAME 记录,则电子邮件路由将使用 CNAME 指示的域重新启动

除非您可以更新 CNAME 目的地的 MX,否则您将需要使用一个 A 记录(或多个)而不是 CNAME,并列出适当的 MX 记录以将您的电子邮件发送到正确的目的地。

相关内容