因為新增了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的服務後就成功了。