重写用于远程传递的电子邮件地址以使用 CNames 是否可以?

Sha*_* A. 3 domain-name-system email cname-record mx-record

我发现远程站点正在重写供我们机器使用的电子邮件,以使用邮件发送到的机器的 CName(例如,mail@virtual.virtualdomain.com 变为 mail@cname.maindomain.com)。这是正确的行为吗?

如果是这样,是否可以通过添加 MX 记录或其他内容来避免这种情况?

Sha*_*den 7

是的,这种行为是错误的……但是在 SMTP 中强制执行 RFC 标准是没有希望的。引用RFC 5321

查找首先尝试定位与名称关联的 MX 记录。如果找到 CNAME 记录,则将结果名称作为初始名称进行处理

但是,默认情况下,sendmail MTA 会重写收件人地址,这违反了 RFC。该nocanonify功能或DontExpandCnames选项,解决这个问题..但是当你没有在一个与事情搞乱服务器控件,所有你能做的就是解决它。

RFC 的措辞最初是在RFC 2821 中,从 2001 年开始,但有趣的是,直到DontExpandCnames 今天,当前的 sendmail 文档说,引用

如果设置,$[ ... $] 进行基于 DNS 的查找的查找不会扩展 CNAME 记录。这目前违反了已发布的标准,但 IETF 似乎正朝着将此合法化的方向发展。