最後更新日期:2023 年 4 月 12 日
前言:WordPress收不到信是常態
表單外掛是一個很常用的 WordPress 外掛,它可以用來幫助我們快速製作各種類型的表單,比如聯繫表單、訂閱表單、問卷調查等等。
當訪客透過網站上的表單留下資訊或者是聯絡我們,只要設定好,我們就可以很快地在信箱中收到 Email 通知,避免漏掉訊息。
不過,我發現過往幾次幫客戶架站的時候,會遇到填寫表單,卻收不到信的狀況。( ͡° ͜ʖ ͡°)
為了解決這個問題,我嘗試利用 SMTP 外掛,將電子郵件和網站串接起來,最後終於讓網站成功收到信件啦!
所以,以下我將與你分享:
為什麼 WordPress 網站會收不到信?
由於 WordPress 是使用原生的函數 wp_mail() 去發信的,基於安全理由,這經常會被阻擋或被當成垃圾郵件,導致收不到信。
除此之外,網站收不到信的原因有很多種可能性。以下是幾種常見的原因:
- 網站主機設定有問題:如果網站主機的 DNS 設定或 MX 設定有問題,可能會導致無法正常發送或接收郵件。
- 郵件被歸類為垃圾郵件:有些郵件服務器或垃圾郵件過濾器可能會將你發送的郵件當作垃圾郵件,而被拒收或放入垃圾信箱中。
- 郵件伺服器設定不正確:若郵件服務器的設定有誤,可能會導致無法正常發送或接收郵件。
為什麼 SMTP 可以解決收信問題?
當你用 WordPress 網站上的表單或發送郵件時,WordPress 會用自己的方式發送郵件,也許有時候可以順利收到信,但這有可能會讓一些信件無法送達,所以很建議設定 SMTP 外掛。
SMTP 的全名稱作 Simple Mail Transfer Protocol,中文稱為「簡單郵件傳送協定」。
SMTP 就像是一個郵差,它會負責幫你把信送到別人的信箱裡,因此如果你想要發送電子郵件,SMTP 就會幫你把郵件從你的電腦送到收件人的信箱,避免收不到信,或成為垃圾郵件。
如何設定 SMTP?
由於我目前都是:
- 使用 Cloudways 主機架站,因為它是雲端主機,SMTP 需要自行啟用,不像 Bluehost 或是 A2 Hosting 主機會有預設的 SMTP 功能。
- 使用 Fluent Forms 外掛製作聯繫表單,我發現 Fluent 也有開發 SMTP 外掛。
所以我除了嘗試設定 Cloudways SMTP 外,也有串接 FluentSMTP,最後網站終於可以順利收發信了!
如果你想了解怎麼設定 Cloudways SMTP 和 FluentSMTP,我們就繼續往下看吧。
相關閱讀:WordPress如何製作精美聯絡表單?7步驟用Fluent Forms美化你的表單!
設定 Cloudways SMTP
購買 Elastic Email
step 1
登入到 Cloudways 後,請點選最上方的 Add-ons。
step 2
找到 Elastic Email,按一下最右邊的鉛筆圖示。
step 3
選擇你想要的方案後,請點選按鈕以確認你要購買 Elastic Email。
如果你不知道要選哪個,一般建議選擇最便宜的 1,000 封就可以了,未來若有需求,你可以再自行變更。
滿值得注意的是,雖然 Cloudways 的 SMTP 服務需要收費,但價格還滿合理的,以最便宜的方案來說,每個月只收取 0.1 美金。
準備驗證網域
step 1
照上述步驟選擇好 Elastic Email 後,接著點選盾牌圖示。
step 2
輸入你的網域名稱,並點擊按鈕驗證網域。
如果你不知道網域名稱是什麼,以本站為例:
- 本站網址:https://www.imjanehsieh.com/
- 網域名稱:www.imjanehsieh.com
- 意思是,要貼至 Cloudways 的網域名稱,不需要包含 https://。
step 3
你會發現網域的 SPF、MX 等設定,全部都是紅色的,這很正常。
所以我們接下來要開啟 pointed at Elastic Email 網頁,準備設定 DNS 指向,來驗證我們的網域。
設定並驗證 SMTP DNS 指向
step 1
開啟 pointed at Elastic Email 網頁後,你會看到頁面都是英文,這不用緊張。
我們只需要找到網頁中的表格,並依序設定 SPF、DKIM、Tracking 以及 DMARC 就可以了。
step 2
接著請開啟你網域的 DNS。
比如你的網域是在 NameCheap、Godaddy 等地方購買的,就進入該平台,即可找到網域的 DNS 設定。
小豆這裡就以 Cloudflare 作為示範。
step 3
進入到 DNS 設定後,請依照網頁上的表格,依序填入值。
以 SPF 為例:
- Type:TXT
- Name / Host / Alias:@
- Value / Answer / Destination / Content:v=spf1 a mx include:_spf.elasticemail.com ~all
輸入完後,即可儲存設定。
step 4
設定完 SPF、DKIM、Tracking 和 DMARC,畫面就會像上述這樣。
step 5
接著回到 Cloudways,按下按鈕驗證你的網域。
你會發現文字都變綠色,這樣就設定成功,WordPress 網站可以正常收發信啦。
PS:如果你發現 Tracking 還是紅色的,就等一點時間,通常它會比較慢 ( 不過這時候網站收發信的功能是 OK 的,你還是可以繼續跟著下方的教學操作 )。
發送測試信件
step 1
設定完 SMTP DNS 後,讓我們來寄個測試信來看看功能是否正常。
請按照上圖進入到 Server。
step 2
找到 SMTP 後,依序啟用 Elastic Email、寄測試信。
step 3
在這裡,可以填上寄信的郵件信箱 ( 建議輸入網域信箱 )。
輸入完後就按下按鈕吧!
step 4
叮咚,網站終於成功收到來自 Cloudways Elastic Email 的測試信了!
這樣我們的 WordPress 網站就不怕遺漏任何信件啦。
設定 FluentSMTP
安裝 FluentSMTP 外掛
step 1
首先,請到安裝外掛中,輸入 FluentSMTP,並把它安裝起來。
step 2
接著開啟 FluentSMTP。
你可以按照下方的路徑找到外掛:
- 「已安裝的外掛」列表中,找到 FluentSMTP 並按下 Settings。
- 側邊欄的「設定」中,找到 FluentSMTP。
又或者,如果你和我一樣有使用 Fluent Forms 表單外掛。
你也可以在 Fluent Forms 中找到 SMTP 的設定。
設定 FluentSMTP 外掛
step 1
進入到 SMTP 外掛後,依序點選 Settings > Add Another Connection。
step 2
在這裡你會看到 FluentSMTP 與多個電郵服務商合作,像是 AWS、Goggle 等,你可以依照你的需求選擇。
小豆我以 Cloudways 的 Elastic Email 作為示範。
- From Email:填上你的信箱。
- From Name:填上你的寄件名稱。
接著到 Clodways 的 Add-ons > 點擊鑰匙 > 複製 Elastic Email KPI。
step 3
回到 WordPress 後台,在 FluentSMTP 貼上 Elastic Email 的 KPI 並儲存,這樣就 OK 啦!
發送測試信件
step 1
依照上述步驟設定完後,我們可以到 Email Test,來寄封測試信。
如果你的網站有聯絡表單,也可以填寫表單,實際看看網站是否可以成功收發信。
step 2
回到你的信箱,找到 FluentSMTP 寄的測試信,這樣就設定成功啦!
設定 SMTP 的常見問題
以下是常見的 SMTP 問題:
SMTP 設置錯誤
當你在設定 SMTP 外掛時,可能會輸入錯誤的伺服器名稱、埠號、帳戶或密碼等,導致 SMTP 外掛無法正確連接伺服器,從而無法發送郵件。
因此如果你仍無法收到信,建議可以再次檢查一下 SMTP 的設定是否正確。
被視為垃圾郵件
如果你的郵件視為垃圾信,可能是因為郵件的內容被判定為垃圾郵件,或者是發送的過程中遇到了垃圾郵件篩選器等等問題。
因此,若你遇到這個狀況,也許可以參考這篇文章【為什麼E-mail信件會跑到垃圾信箱?】,裡面有詳細地談到被判為垃圾信的原因,以及相關設定。
其實,根據我多年的架站經驗,一般的免費 Gmail 信箱很容易被當作垃圾郵件,所以可以考慮用自己的網域申請 G Suite 商業信箱,這可以大幅減少該狀況發生。
比如本站的網域信箱 support@imjanehsieh.com,當我用這個信箱寄信時,不但不容易被判為垃圾信,同時也可以提升收件者對我的信任感、專業感。
SMTP 外掛與其他外掛衝突
當你安裝了多個 WordPress 外掛時,可能會發生外掛之間的衝突,導致 SMTP 外掛無法正常運作。
因此我們可以嘗試停用其他外掛,並一個個開啟外掛,查看是哪個外掛與 SMTP 外掛衝突。
如果無法解決,則需要聯繫 SMTP 外掛的客服,請求進一步的協助。
結論
以上就是我透過設定 Clodways SMTP 和 FluentSMTP,來解決 WordPress 網站收發不到信的經驗分享啦!
雖然 Cloudways 不像其他的主機商 ( 比如 A2 Hosting ) 有預設的 SMTP,需要自行手動開啟並購買 Elastic Email,不過一個月收費最低只有 0.1 美金,個人認為價格很可以接受。
除此之外,小豆因為都會利用 Fluent Forms 來製作聯繫表單,為了讓訪客填寫表單,信箱可以順利收到表單通知,我使用了 FluentSMTP 來避免收不到信的問題。
當然,網路上有很多人在分享像是利用 WP Mail SMTP 外掛,來串接免費的 Google,若你有這方面的需求,可以參考看看其他人的教學。
如果有任何關於 WordPress SMTP 的問題,或是相關經驗,非常歡迎在下方留言與小豆互相交流哦!