Domain-Name-System
是否可以重寫用於遠端傳遞的電子郵件地址以使用 CNames?
我發現一個遠端站點正在重寫為我們的機器準備的電子郵件,以使用郵件所發送到的機器的 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 似乎正朝著使其合法化的方向發展。