若你有台 server 在 private network, 這台server 雖設了 fqdn => test.abc.com.tw ,但迫於無奈有時無法設對應IP
當server每天4點執行 cron.daily , 執行完系統會寄給 root ....
假設你 /etc/aliases => root: hostmaster@def.com.tw
但因為server的 fqdn 無法解析 , 就會被 mail server退信 , 如下
Aug 17 10:19:05 mailserver sendmail[9082]: l7H2J2wb009082: Milter: from=<root@test.abc.com.tw>, reject=553 5.4.4 'test.abc.com.tw' lookup failed: DNS name not found
解決方式 :
(1) 把你的 server fqdn 對應 IP或是MX record設起來
(2) 用 sendmail masquerade 改變 email from domain
我的方式 :
(i)於/etc/mail/sendmail.mc 加上下列後存檔
FEATURE(`genericstable')dnl
FEATURE(`generics_entire_domain')dnl
FEATURE(`masquerade_envelope')dnl
GENERICS_DOMAIN(`abc.com.tw')dnl
(ii)
# cd /etc/mail
# m4 sendmail.mc > sendmail.cf
(iii)
編輯 /etc/mail/genericstable 後存檔 , 並執行 make
@test.abc.com.tw %1@abc.com.tw
解釋 : 遇到 email from domain 為 @test.abc.com.tw用@abc.com.tw 取代
測試寄信.....email domain的確masquerade
順利寄到收件端