即時聊天傳訊軟體在手機上屢屢出新,但很多時候還是email可靠方便。幾年前手機正在漫延這個世界時,自己想架設 Mil Server 已不容易,不但要面對 Sendmil 或 Postfix 複雜的設定,同時又要抵檔垃圾信(當然也要想辦法要其它的 Mail Server 願意收你自己架的 Mail Server 所寄出去的信),自從 Gmail 普遍之後,似乎鮮少有人會討論 Mail Server 的架設技術了。
不過地球還真的有點圓,科技突飛猛進,但感覺在2015年終後開始有點復古的走法,這只是個人感受,進入主題吧!
設定rc.conf,取消sendmail
$ sudo vi /etc/rc.conf
sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"
安裝SSMTP
$ cd /usr/ports/mail/ssmtp/
$ sudo make install clean
To replace sendmail with ssmtp type "make replace" or change
your /etc/mail/mailer.conf to:
sendmail /usr/local/sbin/ssmtp
send-mail /usr/local/sbin/ssmtp
mailq /usr/local/sbin/ssmtp
newaliases /usr/local/sbin/ssmtp
hoststat /usr/bin/true
purgestat /usr/bin/true
編譯並安裝完成後,會新增ssmtp使用者,有關作者的提示(make replace)等成功寄信後再處理。
SSMTP 組態
$ sudo cp /usr/local/etc/ssmtp/ssmtp.conf.sample /usr/local/etc/ssmtp/ssmtp.conf
#
# /etc/ssmtp.conf -- a config file for sSMTP sendmail.
#
root=postmaster
mailhub=smtp.gmail.com:587
AuthUser=《輸入Gmail帳號_@gmail.com》
AuthPass=《輸入Gmail帳號的密碼》
rewriteDomain=domain.com.tw #rewrite
hostname=domain.com.tw #hostname
FromLineOverride=YES
UseTLS=YES
# Use SSL/TLS certificate to authenticate against smtp host.
#UseTLSCert=YES
UseSTARTTLS=YES
# Use this RSA certificate.
#TLSCert=/usr/local/etc/ssmtp/ssmtp.pem
#Debug=YES
測試SSMTP
設定好ssmtp.conf之後,接著寄出一封測試信,請把yourmail@gmail.com換成自己的信箱。
$ vi test.mail
To: yourmail@gmail.com
From: yourmail@gmail.com
Subject: Testmessage
This is a test for sending
$ ssmtp -v yourmail@gmail.com < test.mail
開始出現寄信的畫面,等它跑完,然後去檢查信箱是否有收到測試信,如果沒收到,請再檢查看看ssmpt.conf是否有設定錯誤之處。
以ssmtp取代sendmail寄信
在安裝步驟最後說明的很清楚,就下個指令即可:
$ cd /usr/ports/mail/ssmtp
$ sudo make replace
接著就可以以舊有的寄信指令來測試
$ mail -v -s "test subject" yourmail@gmail.com
果然收到信了,很簡單的設定,收工。
EmoticonEmoticon