
重點整理
WordPress 預設用主機的 PHP mail() 寄信,常被主機擋掉或被收件端當成垃圾信。安裝免費的 WP Mail SMTP(2026 年 9 月版本 4.10.0,超過 400 萬個網站使用),改用 SMTP 或寄信服務送信就能解決。設定只要四步:安裝外掛、用設定精靈選郵件程式、填寄件者與 SMTP 資料、寄測試信。一般網站不需要自己架 Mail Server,用主機信箱、Google Workspace 或寄信服務即可。
聯絡表單送出後收不到通知、WooCommerce 訂單信沒寄到客戶手上,多半不是表單外掛壞了,而是 WordPress 根本沒把信寄出去,或寄出去被當成垃圾信。這篇先說明 WordPress 寄不出信的原因、要不要自己架 SMTP 伺服器,再用 WP Mail SMTP 一步一步完成設定與測試,最後整理寄不出去時的排查順序。
為什麼 WordPress 寄不出信?
WordPress 和多數表單外掛都是透過 wp_mail() 寄信,預設會交給主機的 PHP mail() 處理。問題在於:

- 主機沒有設定好寄信功能:不少主機(尤其雲端主機)沒有架設寄信服務,或直接封鎖對外寄信的連接埠。
- 信件沒有通過驗證:用 PHP mail() 寄出的信通常沒有對應網域的 SPF、DKIM 驗證,Gmail、Outlook 這類信箱會把它丟進垃圾信匣,甚至直接退信。
- 寄件者看起來可疑:預設寄件者常是 wordpress@你的網域,而這個信箱實際上不存在。
改用 SMTP(Simple Mail Transfer Protocol,郵件傳輸協定)的做法,就是讓 WordPress 登入一個真正的信箱帳號或寄信服務來寄信,信件有了驗證,送達率自然提高。
SMTP 伺服器(Mail Server)需要自己架設嗎?
大部分網站不需要。自己架 Mail Server 要處理固定 IP、反向解析、SPF/DKIM/DMARC 設定、防止被當成垃圾信來源,還要長期維護與監控,對中小企業來說成本很高。比較實際的選擇有三種:
| 做法 | 適合誰 | 注意事項 |
|---|---|---|
| 主機商附的網域信箱 | 主機方案本來就有信箱的網站 | 到主機後台查 SMTP 伺服器、連接埠與加密方式 |
| Google Workspace、Microsoft 365 等企業信箱 | 公司已經在用這些信箱 | 需要用應用程式密碼或 OAuth 授權,不能直接填登入密碼 |
| 交易型寄信服務(SendLayer、Brevo、Mailgun、SendGrid 等) | 訂單信、會員信量大的網站 | 要在網域 DNS 加驗證紀錄;免費額度與價格以各服務官網為準 |
WP Mail SMTP 內建上述多數服務的連線方式,選好服務後照著外掛的欄位填資料即可。
步驟一:安裝 WP Mail SMTP
進入 WordPress 後台「外掛 → 安裝外掛」,搜尋「WP Mail SMTP」,找到作者為 WPForms 的「WP Mail SMTP by WPForms」,按「立即安裝」再「啟用」。外掛也可以從 WordPress.org 外掛頁面下載。

目前版本需要 WordPress 5.5 以上、PHP 7.4 以上,後台介面已有繁體中文。
步驟二:用設定精靈選擇郵件程式
啟用後,後台左側會多出「WP Mail SMTP」選單(早期版本放在「設定」底下,現在是獨立選單)。第一次進入可以按「啟動設定精靈」,跟著畫面一步步完成;也可以直接到「WP Mail SMTP → 設定」手動填寫。
設定的第一個重點是「郵件程式」,也就是信要透過誰寄出。免費版可選的包括:
- SendLayer、SMTP.com、Brevo、Elastic Email、Mailgun、Mailjet、SendGrid、Postmark、SparkPost、SMTP2GO 等寄信服務
- Google / Gmail(Gmail、Google Workspace)
- 其他 SMTP:主機信箱或任何提供 SMTP 的信箱都用這個
Microsoft 365/Outlook.com 一鍵連線、Amazon SES、Zoho Mail 屬於付費 Pro 版功能。用寄信服務的好處是走 API 送信,就算主機封鎖了 SMTP 連接埠也寄得出去。
步驟三:填寫寄件者與 SMTP 資料
以最常見的「其他 SMTP」為例,欄位分成寄件者與連線兩部分。
寄件者設定
- 寄件者電子郵件地址:建議填網站網域的信箱(例如 service@你的網域),而且要和下面登入 SMTP 的帳號同一個網域,否則容易被判定為冒名寄信。勾選「強制使用」可以讓所有外掛寄出的信都統一用這個地址。
- 寄件者名稱:收件人看到的名字,留空會顯示「WordPress」,建議改成公司或網站名稱。
- 傳回路徑:勾選後退信會寄回寄件者信箱,方便知道哪些信沒送到,可依需求開啟。
SMTP 連線設定
- SMTP 伺服器:主機或信箱服務提供的位址,例如 Gmail 是
smtp.gmail.com。 - 加密方式與 SMTP 通訊埠:SSL 搭配 465,TLS 搭配 587,依信箱服務的說明選擇,兩者要對應。
- 驗證:保持開啟,再填入 SMTP 使用者名稱(通常是完整信箱地址)與 SMTP 密碼。
如果用 Gmail 或 Google Workspace 帳號走「其他 SMTP」,密碼欄不能填平常登入的密碼,要先在 Google 帳戶開啟兩步驟驗證,再建立「應用程式密碼」填進去。也可以改選外掛的「Google / Gmail」郵件程式,用 OAuth 授權連線,不需要密碼,但要先在 Google Cloud 建立應用程式,步驟較多。
填好後記得按頁面下方的「儲存設定」,再進行測試。
密碼會存在網站資料庫裡。若想更保險,WP Mail SMTP 也支援把 SMTP 帳密改寫在 wp-config.php 的常數中(例如 WPMS_SMTP_PASS),寫法請參考官方文件。
步驟四:寄送測試信
到「WP Mail SMTP → 工具 → 電子郵件測試」,在「收件者」填一個你收得到的信箱,按「傳送電子郵件」。成功時畫面會顯示寄送成功的訊息,信箱也會收到一封由 WP Mail SMTP 自動產生的測試信;失敗時外掛會列出除錯資訊和可能原因。

收到測試信後,再實際送一次網站的聯絡表單或下一筆測試訂單,確認真正的通知信也能寄達。
測試信寄不出去怎麼辦?
依下面的順序檢查,通常就能找到原因:
- 帳號密碼:最常見的錯誤。Gmail、Microsoft 帳號要用應用程式密碼或 OAuth,不能用登入密碼。
- 伺服器、通訊埠、加密方式是否對應:465 配 SSL、587 配 TLS,到主機或信箱服務的說明頁再核對一次。
- 主機是否封鎖寄信連接埠:除錯資訊出現連線逾時、無法連線,多半是主機擋了連接埠。可以詢問主機商,或改用走 API 的寄信服務。
- 網域驗證紀錄:信寄得出去卻進垃圾信匣,就要到網域 DNS 補上寄信服務要求的 SPF、DKIM(以及 DMARC)紀錄。
不建議用「關閉加密」的方式繞過錯誤,帳號密碼會以明文傳送,也不一定能解決問題。
常見問題
WP Mail SMTP 免費版夠用嗎?
夠用,一般網站只需要免費版就能用 SMTP 或寄信服務穩定寄信。付費 Pro 版多了寄信記錄、重新寄送、寄信報表、備援連線、失敗警示,以及 Microsoft 365、Amazon SES、Zoho 等連線方式,訂單量大或需要追蹤每封信時才需要考慮。
為什麼 Gmail 帳號密碼都對,還是驗證失敗?
因為 Google 不接受第三方程式直接用帳號登入密碼寄信。要先開啟兩步驟驗證並建立應用程式密碼,或改用 WP Mail SMTP 的「Google / Gmail」郵件程式以 OAuth 授權。
WooCommerce 的訂單通知信也會走 SMTP 嗎?
會,WP Mail SMTP 接管的是 WordPress 共用的寄信函式,WooCommerce、Contact Form 7 等外掛寄出的信都會一起改走設定好的郵件程式。WooCommerce 各類通知信的開關與內容,可以參考 WooCommerce 電子郵件設定教學。
結語
網站寄不出信,影響的是詢價、訂單與會員通知,等客戶抱怨才發現往往已經漏掉不少信件。用 WP Mail SMTP 把寄信方式改成 SMTP 或寄信服務,再寄一封測試信確認,十幾分鐘就能完成。設定好之後,建議每次更換主機、網域或信箱密碼時,都回到「電子郵件測試」再寄一次,確保通知信持續正常送達。
