Ads 468x60px

Pages

2011年4月15日 星期五

sendmail dead.letter/user unknown 問題 (dead.letter issue)


問題:在主機 a1.corp.xfalcons.com 要送信到 kevin@xfalcons.com,但是 xfalcons.com 的收信主機實際上是 host 在 gmail.com 的。

問題發生的起因:
1. a1.corp.xfs.com 修改主機名稱成 a1.corp.xfalcons.com
2. xfalcons.com 的收信伺服器 host 在 gmail.com 上
3. 而在 /etc/mail/sendmail.cf 裡有這樣的設定
Cwlocalhost
# file containing names of hosts for which we receive email
Fw/etc/mail/local-host-names

# my official domain name
# ... define this only if sendmail cannot automatically determine your domain
#Dj$w.Foo.COM
並且 /etc/mail/local-host-names 檔案裡,包含了
xfalcons.com
這樣的設定結果,造成 sendmail 認為本機是可以收 userXXX@miiicasa.com 的信件,可是我們要的是它送到 gmail 的 miiicasa.com 去。

解決方式:清空 /etc/mail/local-host-names 的檔案,或是寫成真正的主機名稱,如:a1.corp.xfalcons.com

另一解法是說,直接修改 /etc/mail/sendmail.cf 把 #Dj$w.Foo.COM 的註解拿掉,並且把 Foo.COM 改成一個不存在的 domain ,就可以了,或是修改 /etc/mail/sendmail.mc
define(`confDOMAIN_NAME', `mail.example.net')dnl
不過好像有點問題。