Solaris 10 Sendmail error: host unknown

因為新增了Mail Server,所以IP位置也不一樣,因此也要更改Solaris上的設定,
因為這台伺服器只用/etc/hosts來解析Hostname,所以先從它開始修改。

例如:

Server的hostname是mail.ccc.com.tw,ip是192.168.0.10,不過這台是Smart Host。
Smart Host是一種mail server的中繼站,當寄件者送出郵件後會先到達smart host,
再由smart host送到收件者實際的mail server內,讓收件者可以收到信件。

在/etc/hosts內增加下列:
192.168.0.10  mail.ccc.com.tw mailhost
並且把註解舊的server設定,不再使用。

寄一封測試的mail試看看:
# mailx -v -s "test" john@ccc.com.tw < /dev/null
(利用-v來觀察mail寄送的步驟)

結果失敗了,看錯誤的訊息是 host unknow,而無法解析的是舊的server,
雖然舊的server設定已經被我註解了,所以無法解析,但是我已經加入新的設定,
為什麼還是使用舊的server,不然重啟sendmail看看好了:

查sendmail的服務名稱
# svcs -a |grep sendmail
online         Jun_28   svc:/network/sendmail-client:default
online         13:50:20 svc:/network/smtp:sendmail

重啟sendmail
# svcadm refresh svc:/network/smtp:sendmail
# svcadm restart svc:/network/smtp:sendmail

再試寄一次mail看看,結果還是失敗,查了sendmail.cf也沒有什麼特殊的設定,
找了一整天的網路,也試不出什麼結果,總是解析不到舊的server,
也有依文章,設定了/etc/mail/sendmail.cf的smart host,還是不行。
最後總於在一篇文章中找到smart host的說明,於是開啟/etc/mail/submit.cf,
找到下列的語句,原來舊server是設定在此處:
# "Smart" relay host (may be null)
DSoldmail.ccc.com.tw

更改成DSmail.ccc.com.tw,並重開sendmail的服務後就成功了。