前陣子我在同一主機下架了二個WordPress (A站、B站),表面上運作都沒有問題,沒想到在測試信件的時候卻發生其中一個WP無法發信的情況 (指的是訪客留言我卻收不到信件通知),所以特別安裝了「Contact Form 7」來驗証一下是否有什麼問題,結果Contact Form 7在A、B二站都是顯示已留言成功,但事實上還是只有A站有收到,爬文了一下猜想「可能」是PHP發信函式mail()的設定問題,在不熟的PHP的情況下加上時間有點趕,所以最後選擇了用WP的外掛「WP Mail SMTP」來協助修改設定,這個外掛的好處是設定容易、還可以指定自己想要SMTP,也比較不會被當成垃圾信,總之,如果你有發信上的問題的話,大部分都是設定問題,如果不會改程式的話,那麼推薦大家可以試試這款外掛。
網址:WordPress – WP Mail SMTP
推薦閱讀:[WordPress] 利用Postman SMTP認證OAuth 2.0,以GMail來發信
【設定教學】以GMail SMTP為例
在安裝好「WP Mail SMTP」後,會在WP後台的「設定」中會多一個「Email」的選項
進入之後按照下方的說明來說定即可:
- From Email:指定想要顯示的信箱,例如[email protected]
- From Name:指定要呈現的寄件人名稱,例如:service
- Mailer:選擇「Send all WordPress emails via SMTP.」
- Return Path:可不用勾選
再來就是設定SMTP (以GMail為例,如果你不是用GMail,請自行查詢主機的SMTP)
- SMTP Host:smtp.gmail.com
- SMTP Port:465
- Encryption:選擇「Use SSL encryption」
- Authentication:選擇「Yes: Use SMTP authentication」
- Username:輸入完整的信箱
- Password:輸入信箱密碼
以上設定後記得點擊「儲存變更」就可以生效了,但如何確定是否有設定成功呢?在最下方有個「Send a Test Email」的選項,輸入收件信箱並點擊「Send Test」就可以進行測試
如果測試結果是「true」那麼應該就不會有問題,若是「false」則需要根據它提供的錯誤訊息一步一步的排解