用 ssmtp 取代 sendmail

情境是,某主機僅提供網頁之服務,要將所有透過網頁或是系統寄出去的信轉到同一網域下的 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 有哪些男人可以看。

用 ssmtp 取代 sendmail