2024年12月2日 星期一

sendmail 寄到 DNS domain 有 CNAME 的問題

狀況:
透過sendmail寄信給客戶發生錯誤,客戶的domain會被改掉。
寄給user@xxx.com變成user@d29xxxuh8.cloudfront.net

原因:
用Google搜尋,看起來sendmail會優先用CNAME寄信,所以造成寄錯。

處理方法:
修改/etc/mail/sendmail.mc
dnl #add by Chdu 2024.12.02 (不要用CNAME, 必須在MAILER前面)
define(`confBIND_OPTS', `+WorkAroundBrokenAAAA')
define(`confPRIVACY_FLAGS', `authwarnings,needmailhelo,goaway')
FEATURE(`nocanonify')

sendmail.mc修改後,執行make產生sendmail.cf,再執行 systemctl restart sendmail

另外通知客戶的MIS調整DNS設定,避免在domain設定CNAME。

測試方法:
用 [root@mail_server]# echo "Test email body" | sendmail -v user@xxx.com 可以看到收件人domain是否被改變。