最近看到許多新手站長建立好 WordPress 網站後,發現網站都收不到信,然後上社團求救。
本篇文章會教你檢測網站郵件功能是否正常開啟,並且設定 SMTP 外掛,確保郵件可以正常發出!
目錄
為什麼會收不到信?
WordPress 架站時常遇到收不到信的問題,其中最主要的是因為 WordPress 本身是透過 wp_mail() 這個函數來發信,但是並沒有經過 SMTP 郵件伺服器的認證,所以容易被當成垃圾信或是阻擋。
基本上會遇到三種情況,將在下面說明:
wp_mail() 函數被禁用
wp_mail() 函數被禁用有可能是以下兩種情況:
1. 共享主機
有些共享主機商會封鎖 wp_mail() 這個函數,避免一些垃圾郵件的麻煩。
這種情況就只能換一間主機商或是使用 SMTP (下面會提到)。
架站推薦清單:
新手或是低流量可以使用 WPWebHost:【架站教學】專門為WordPress打造的主機?WPWebHost 完整教學!
老手或是高流量可以使用 Cloudways:【架站教學】新手快速架站教學,使用Cloudways架設WordPress網站!
2. VPS
自架 VPS 的人,可能會忘記安裝 Mail Server ,導致不能發信。
如果對 Linux 非常熟,可以考慮自己安裝。
但我還是建議,更簡單、更方便的 SMTP。
信件來源被封鎖
遇到這種情況,最有可能的是你的信箱早就被加到黑名單。
也有可能遇到退信的情況:郵件退信怎麼解決?
解決方式就是更換一個信箱,或是透過 SMTP。
進入垃圾郵件
如果是這種情況,可以先參考這篇文:如何解決信件被Gmail標記為垃圾信?
也有可能是郵件來源,如果要使用自己網域的信箱,可以考慮申請 G Suite 商業信箱,因為目前大多人都是使用 gmail。
或是透過第三方 SMTP 服務:Mailgun 的設置與應用教學。
延伸閱讀:G Suite 申請教學 | 從 Godaddy Office 365 無痛搬家到 G Suite。
接著教大家要如何檢測寄信功能是哪裡出錯。
檢測寄信功能
STEP 1
WordPress 最快最直接的測試信件功能的方式,就是透過忘記密碼。
先登出,進入登入畫面,點選忘記密碼。

STEP 2
輸入自己網站設定的使用者名稱或是電子郵件地址,按取得新密碼。

STEP 3
這時候應該會有兩種狀況:
1. 寄信失敗,wp_mail() 函數未開啟
這種情況就照上面說的,設定 SMTP 外掛。
2. 信件正常寄出
如果有收到,恭喜你,信件很正常,但我想應該收不到才會看這篇文章????????
沒收到的話,先到垃圾郵件查看,但不管有沒有,一樣都是設定 SMTP 外掛。

設定 SMTP 外掛
STEP 1
首先,先安裝 WP Mail SMTP by WPForms 並啟用。

STEP 2
先測試看看基本的 php mail() 服務是否正常。

STEP 3
若是以這種方式做電子郵件測試,效果跟忘記密碼的方式是一樣的。

STEP 4
果然,沒有經過 SMTP 的認證,收到的信會被 Google 當作垃圾信件。

STEP 5
接著我們改成透過 Gmail 來驗證。

如果是個人免費信箱就直接看下一步,如果你想要專屬的網域信箱,可以申請 G Suite 信箱。
延伸閱讀:G Suite 申請教學 | 從 Godaddy Office 365 無痛搬家到 G Suite。
下面的設定步驟叫繁瑣,如果不想要設定這些的話,可以考慮 WP Mail SMTP by WPForms 的進階版。
STEP 6
接著就要來設定 Google API,取得用戶端 ID 與密碼:Gmail API 設定。
首先進入以下畫面,選擇建立專案,繼續。

STEP 7
建立會需要大概一分鐘的時間,接著點選前往「憑證」。

STEP 8
將憑證新增至您的專案,選擇 Gmail API、網路伺服器、使用者資料。
接著按我需要那些憑證?

STEP 9
然後會跳出設定 OAuth 同意畫面,點選設定同意畫面,這時候會跳出一個新視窗,舊的記得不要關掉!

STEP 10
設定 OAuth 同意畫面,上半部輸入應用程式名稱(名稱隨意打,我習慣打網站網址),確認支援電子郵件。
