收不到信怎麼辦? 5分鐘教你如何檢測及修復寄信功能!

最近看到許多新手站長建立好 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。

使用 G Suite 商業信箱

或是透過第三方 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 並啟用。

下載 WP Mail SMTP by WPForms
下載 WP Mail SMTP by WPForms

STEP 2

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

測試 php mail
測試 php mail

STEP 3

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

電子郵件測試
電子郵件測試

STEP 4

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

訊息被阻擋
訊息被阻擋

STEP 5

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

google SMTP 設定
google SMTP 設定

如果是個人免費信箱就直接看下一步,如果你想要專屬的網域信箱,可以申請 G Suite 信箱。

使用 G Suite 商業信箱

延伸閱讀:G Suite 申請教學 | 從 Godaddy Office 365 無痛搬家到 G Suite

下面的設定步驟叫繁瑣,如果不想要設定這些的話,可以考慮 WP Mail SMTP by WPForms 的進階版。

購買 WP Mail SMTP 進階版

 

STEP 6

接著就要來設定 Google API,取得用戶端 ID 與密碼:Gmail API 設定

首先進入以下畫面,選擇建立專案繼續

建立專案
建立專案

STEP 7

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

API 已啟用
API 已啟用

STEP 8

將憑證新增至您的專案,選擇 Gmail API網路伺服器使用者資料

接著按我需要那些憑證?

新增憑證
新增憑證

STEP 9

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

設定 OAuth 同意畫面
設定 OAuth 同意畫面

STEP 10

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

OAuth 設定
OAuth 設定

STEP 11

下半部輸入前面三個欄位:頂級網域首頁完整網址隱私權政策連結

每個欄位輸入完都要記得按一次 Enter!

接著點選儲存即可。

OAuth 設定
OAuth 設定

STEP 12

回到剛剛舊的頁面,輸入下面兩個欄位:

1. 已授權的 JavaScript 來源:輸入首頁網址。

2. 已授權的重新導向 URI:輸入外掛頁面提供的網址(參照下方第二張圖片最下面的網址)。

最後點選重新整理

建立 OAuth ID
建立 OAuth ID
google SMTP 設定
已授權的重新導向 URI

STEP 13

看到這個畫面點選稍後再下載

稍後再下載憑證
稍後再下載憑證

STEP 14

這時候會看到憑證清單。基本上沒設定過就只有一列,點選右邊的紅色框起來的圖案。

憑證清單
憑證清單

STEP 15

這裡就可以看到用戶端 ID用戶端密碼,複製到外掛的設定頁面即可。

用戶端 ID 和密碼
用戶端 ID 和密碼

STEP 16

輸入完之後,點選驗證

外掛授權
外掛授權

STEP 17

這時候應該會跳出應用程式未經驗證,點選進階設定前往網址

驗證來源
驗證來源

STEP 18

連結成功之後,就會看到這個訊息。

成功連結
成功連結

STEP 19

這時候再測試一次電子郵件,就可以正確的收到信件,也不會被當成垃圾訊息。

寄信成功
寄信成功

 

結論

本篇文章介紹了一些收不到信的可能原因,並且透過 WP Mail SMTP by WPForms 來解決。