很多站長會遇到一個讓人沮喪的問題:明明設好了聯絡表單、會員系統、甚至訂單確認信,卻發現訪客根本沒收到郵件。原因不難猜——預設的 PHP mail 函數根本不可靠。如果你剛架好 WordPress,寄信功能遲早會出問題;越早改用 SMTP 寄信,越能避免未來的麻煩。
PHP mail 為什麼不穩定
WordPress 預設透過伺服器上的 PHP mail 函數寄信。聽起來簡單,卻是最常見的失效來源。PHP mail 依賴伺服器的 Sendmail 或 Postfix 程序,這些郵件傳輸軟體必須正確設定、持續執行,才能確保郵件實際送出去。但即便伺服器設定正常,共享主機往往會限制寄信速率或禁用 Sendmail,為了防止濫發垃圾信,結果連正常郵件也被擋住。
即使信件送出去了,收件端(Gmail、Outlook、Yahoo)會檢查寄件伺服器的信譽。小型主機的 IP 往往沒有正式的 SPF、DKIM、DMARC 等認証記錄,郵件容易被判為垃圾信或被退回。再者,當寄信失敗時,PHP mail 函數不會回傳明確的錯誤訊息,只是悄悄失敗,站長完全看不出問題在哪。這三個問題無法克服,正是為什麼許多站長最後都會轉向 SMTP。
切換到 SMTP 的三個好處
SMTP(Simple Mail Transfer Protocol)是業界標準的郵件傳輸方式。改用 SMTP 伺服器寄信,等同於借用有正式信譽的企業郵件服務。郵件抵達率高得多,因為用的是 Gmail、Brevo、Mailgun 這些大型服務商的伺服器;收件端能看到正確的寄件者身份與認証信息;最重要的是,有詳細的錯誤日誌,寄信失敗時能看出原因。
常見的服務商有三種選擇。如果主要寄送人是你自己或小型團隊,Gmail SMTP 最簡單——用自己的 Gmail 帳號認証就行,完全免費。如果需要大量寄信(像行銷電子報),Brevo(舊名 Sendinblue)或 Mailgun 更合適,兩者都有免費試用額度,超額後才按量收費。
用 WP Mail SMTP 外掛設定郵件寄送
最簡單的做法是用外掛。WP Mail SMTP 是公認最穩定的選項,它封裝了複雜的連線邏輯,讓你只需填入帳號密碼就能搞定。
安裝好外掛後,進後台「工具 > WP Mail SMTP」。在「寄件者」區塊填入網站的聯絡信箱(例如 info@example.com)與公司名稱。接著選擇「郵件傳送方式」,下拉選單有 Gmail、Brevo、Mailgun 等選項,選你要用的服務。
以 Gmail 為例,點下去會跳出 Google 認証視窗。同意授權後,WP Mail SMTP 會取得存取權,往後就能透過那個帳號寄信。Brevo 與 Mailgun 的流程類似——進各服務的管理後台抓出 API 金鑰或帳號密碼,貼回外掛設定頁即可。
Gmail 快速設定
假設你用 Gmail。首先要在 Google 帳戶啟用「應用程式密碼」。進 Google 帳戶(myaccount.google.com),左側選「安全性」,往下滑找「應用程式密碼」。這個功能只在你已啟用兩步驟驗証時才會出現,所以若還沒設好兩步驟,得先補上。應用程式密碼會產生一組 16 位數的臨時密碼,用來讓 WordPress 登入(不用真的 Gmail 密碼,更安全)。
在 WP Mail SMTP 設定頁選「Google」,授權後系統自動填好 SMTP 主機、埠號、使用者名稱。密碼那欄就填上剛才產生的 16 位應用程式密碼,點「儲存設定」完成。
Brevo 設定步驟
Brevo 適合需要定期寄電子報或客服通知的站長。免費方案每天可寄 300 封信,夠應付中小型網站。到 brevo.com 註冊帳號,驗証信箱後進後台。左側導覽選「Transactional > SMTP & API」,下方會看到連線資訊。記下主機位址、埠號(通常 587)、使用者名稱與帳戶密鑰。
回到 WordPress 的 WP Mail SMTP,選「Brevo」,貼上這些資訊。Brevo 的好處是你還能用他們的郵件編輯器設計電子報樣板,但基礎的事務性通知(會員確認、訂單、聯絡表單回應)用預設的純文字郵件就夠了。
Mailgun 設定與適用情景
Mailgun 主要吸引的是技術導向的開發者,因為它功能最齊全,能設定轉發規則、追蹤開信與點擊。免費方案前三個月無限寄信,之後限制在每月 100 封。要用 Mailgun,先到 mailgun.com 註冊,驗証域名(可用 ezwps.com 或自訂子域 mail.ezwps.com)。驗証完成後,在「Account > SMTP credentials」找出主機與密鑰,同樣貼進 WordPress。
選擇哪個服務很單純。單純寄驗証信、訂單通知、聯絡表單回應,Gmail 最方便,零設定成本。要寄電子報或行銷信,Brevo 的信譽與工具更全面。需要詳細的郵件追蹤與彈性的轉發規則,Mailgun 勝出,但對個人站長來說功能往往過剩。
設定完後怎麼測試寄信
WP Mail SMTP 提供了最簡單的測試工具。在「工具 > WP Mail SMTP」頁面最下方有個「測試郵件」區塊,填入測試用的收信地址(自己的信箱),點「寄送測試郵件」。如果 10 秒內收到,代表設定成功;如果沒收到,檢查垃圾信資料夾。
若垃圾信資料夾也沒有,就要查錯誤日誌。WP Mail SMTP 會在「工具 > WP Mail SMTP」的「郵件紀錄」頁簽記下每次寄信的成功或失敗。點進失敗項目,能看到具體的錯誤訊息,像是「認証失敗」或「主機連線拒絕」。這些訊息能幫你確認是帳號設定問題還是網路連線問題。
常見失敗原因與排查
即使設定好外掛,還有幾個常見卡點。最常見的是應用程式密碼或 API 金鑰輸入錯誤——複製貼上時往往多了空白或漏了字母。檢查一遍設定頁的密鑰欄位,確保沒有多餘空格。
埠號也容易出錯。一般郵件傳輸用 587(TLS 加密)或 465(SSL 加密),少數舊系統用 25。WP Mail SMTP 通常自動判斷,但若連線失敗,試試改一下埠號看看。
如果你在郵件設定頁用的寄件信箱是自己的網域(info@example.com),Gmail 與 Outlook 等收件端會去查 example.com 的 DNS 記錄,確認你有權代表這個域名寄信。這時需要在網域的 DNS 設定裡加上 SPF 與 DKIM 記錄。大多數服務商(包括 Gmail 與 Brevo)都會提供這些記錄的複製貼上格式,貼進你主機商的 DNS 管理頁就行。
最後一個常見卡點是 Gmail 帳號安全設定。Google 有時會因為不尋常的登入位置或方式,自動拒絕應用程式密碼的使用。解決方式就是進 myaccount.google.com 確認有無警告通知,有的話按下「是,這是我」確認。之後 WordPress 寄信應該就恢復正常。
寄信外掛還是 SMTP
有些人用「寄信外掛」(如 Brevo 官方外掛)而非 WP Mail SMTP。這兩種方式都能用,差別在於整合深度。WP Mail SMTP 更通用,換服務商時只需改設定,不用換外掛。官方外掛(如 Brevo Plugin)的好處是能直接用他們的完整功能,但綁定度高。對大多數中小型網站,WP Mail SMTP 就足夠了。設定好外掛後,WordPress 的所有郵件系統都會經由它寄信——聯絡表單、會員通知、訂單確認都不例外。一次到位,往後就不用再擔心寄信問題。