Domain-Name-System

是否可以重寫用於遠端傳遞的電子郵件地址以使用 CNames?

  • June 19, 2012

我發現一個遠端站點正在重寫為我們的機器準備的電子郵件,以使用郵件所發送到的機器的 CName(例如 mail@virtual.virtualdomain.com 變為 mail@cname.maindomain.com)。這是正確的行為嗎?

如果是這樣,是否可以通過添加 MX 記錄或其他方式來避免這種情況?

是的,這種行為是錯誤的.. 但是在 SMTP 中執行 RFC 標準是沒有希望的。引用RFC 5321

查找首先嘗試查找與該名稱關聯的 MX 記錄。如果找到 CNAME 記錄,則處理結果名稱**,就像它是初始名稱一樣**。

但是,預設情況下 sendmail MTA 會重寫收件人地址,這違反了 RFC。該nocanonify功能或DontExpandCnames選項可以解決此問題..但是當您無法控制弄亂事物的伺服器時,您所能做的就是解決它。

RFC 的措辭最初是在RFC 2821中,從 2001 年開始,但有趣的是,DontExpandCnames 直到今天,目前的 sendmail 文件說,引用

如果設置, $ [ … $ ] 進行基於 DNS 的查找的查找不會擴展 CNAME 記錄。這目前違反了已發布的標準,但 IETF 似乎正朝著使其合法化的方向發展。

引用自:https://serverfault.com/questions/399955