最後更新時間:2020 年 12 月 8 日
如果你發現你收不到的 WordPress 網站發出的所有郵件,這時代表你的網站可能沒有設定 SMTP ( Simple Mail Transfer Protocol,簡單郵件傳輸協定 )。
通常這個問題會發生在利用 VPS 主機架站的 WordPress 網站,例如:Cloudways, Linode, GCP 等,因為主機商是給你一台空的電腦,所以它不會幫你設定 SMTP,你必須要自己設定。
但是如果你是用 Siteground, Bluehost, Godaddy 等共享主機商的服務,通常主機商都會在 Server 端幫你裝好了,因此如果你有收不到信件,建議可以先洽詢一下主機商,因為這應該是他們該負責的部分,或是照著接下來的教學,一樣能夠解決。
什麼是 SMTP?
SMTP 你就把它想成是一個處理 E-mail 的安全管道,因為 WordPress 是使用 WordPress 原生的函數 wp_mail() 去發信的,但是你用這樣的函數去發信,一般我們使用的信箱如 Gmail 等,會基於安全的理由直接封鎖你寄出的信件,所以導致你收不到信。
因此,我們需要一個有 SMTP 的 Server 去幫我們處理我們的郵件,才不會被封鎖,通常我們會跟一些比較大的服務商借,例如 Google, Mailgun 等,這兩個都是免費的,因此推薦大家使用。
接下來,我們就用 Google 提供的免費 SMTP 來去幫我們的 WordPress 網站做設定,修正收不到信的問題。
使用此作法,必須使用
@gmail.com
結尾的 Google 帳號才可以唷!除此之外,Google 的 SMTP 也有數量限制 ( 免費版 500 封/日 ),請多加留意。
如何設定 SMTP
申請 Google SMTP

首先我們先前往 Google 帳戶首頁,就像平常登入 Google 一樣登入。

成功之後,你應該會進到一個這樣的畫面,接著點選左邊那排的「安全性」。

因為要使用 Google 的 SMTP 服務,Google 規定必須要使用兩步驟驗證,因此點選啟用「兩步驟驗證」。
這邊就照著指示順順的完成就好,應該沒什麼難度。




完成之後回到首頁,兩步驟驗證上面寫「開啟」就算完成了。


接著我們點選下面的「應用程式密碼」,在選取應用程式的欄位中,點選「其他 ( 自訂名稱 )」

這邊隨便輸入一個名字,你自己記得就好,不知道的話也可以學我,接著按下產生。

最後會得到一個應用程式密碼,這個是我們之後設定要用到的,它只會出現一次,所以記得複製並存好。
如果沒記到的話,就刪掉重新再產生一次就好,到這邊我們就可以把 Google 的頁面關掉了。
啟用 SMTP 外掛

回到你的 WordPress 網站,搜尋並啟用「WP Mail SMTP by WPForms」這個外掛。

點選左邊的 WP Mail SMTP,拉到下面,並點選「其他 SMTP」。
雖然我們剛剛是用 Google 的服務,但是請記得不要選「Gmail」的選項喔。

拉到下面,依序填入以下資訊:
- SMTP 伺服器:
smtp.gmail.com
- 加密方式:
TLS
- SMTP 通訊埠:
587
- 驗證:
啟用
- SMTP 使用者名稱:
你剛剛設定的 Google 帳號
- SMTP 密碼:
Google 給你的應用程式密碼
都填完之後按下儲存設定,就大功告成了。

最後我們要做一個發收信的確認,把你登入帳號的 E-mail 地址改成另一個信箱,然後去收信看看。

接著你應該會收到一封驗證信,恭喜你,這代表你的 WordPress 可以正常地發送信件了!
Cloudways 作法

如果你是使用 Cloudways 主機的話,就可以不用安裝外掛,利用 Cloudways 本身提供的 SMTP 功能進行設定,非常方便。
首先,前往 Server -> SMTP -> 然後進行一樣的設定:
依序填入以下資訊:
- Host:
smtp.gmail.com
- Port:
587
- Username:
你剛剛設定的 Google 帳號
- Password:
Google 給你的應用程式密碼
這個做法的話有一個好處,就是你所有架設在這台主機上的 WordPress 網站都不用再逐一設定 SMTP 外掛,所以如果你是 Cloudways 的站長,我比較推薦你使用這個方法。
Cloudways 官方其實還有提供一個更簡單的做法,詳細的教學可以參閱【2020】Cloudways 完整介紹教學,WordPress 最佳 VPS 主機這篇文章。
如果你有使用 G suite 的話,G suite 帳號要用這招有一些前置作業要做,有點麻煩,因此請用一般 Gmail 帳號,否則還是一樣會收不到信。
結尾
這次的教學就到這邊囉,希望能幫助你解決收不到 WordPress 信件的問題,我原本遇到這個問題的做法是參考工具王阿璋的作法,但後來我覺得這個做法有點複雜,因此研究了一個簡化的版本,但是還是相當推薦大家使用阿璋的作法唷。