情境是,某主機僅提供網頁之服務,要將所有透過網頁或是系統寄出去的信轉到同一網域下的 smtp server。
雖然 sendmail 也可以做這件事,但 sendmail 的設定是在是太麻煩了,安裝新的程式還比較省時 😛
ssmtp 是一隻專門做這件事的程式,他本身沒有寄信的功能,僅能 forward 信件到外部 smtp server。
# cd /usr/ports/mail/ssmtp; make install replace
replace 可以把 sendmail 直接取代掉。
安裝好之後,修改設定檔:
root=[誰要收 root 的信] mailhub=[外部 smtp server] rewriteDomain=[寄出的信會顯示的來源網域] hostname=[本機 hostname] #FromLineOverride=YES #這一行可以允許寄件人自訂信件的來源信箱
另外,也可以修改 php.ini:
sendmail_path = /usr/local/sbin/ssmtp -t
記得 man ssmtp
一下看看 ssmtp 有哪些男人可以看。