聯絡表單發信要注意的事情
信件問題,不一定是表單外掛的問題
Section titled “信件問題,不一定是表單外掛的問題”當客戶在網站上填完聯絡表單,畫面顯示「送出成功」,但你沒收到,連垃圾信箱都沒有。
這時候很容易先判定表單外掛壞了。但畫面顯示送出成功,只代表送出流程完成到某個階段,不等於通知信已經送達。
要先拆開看:資料有沒有寫入網站、WordPress 有沒有把郵件交給寄信服務,以及收件端最後有沒有接受。
為什麼信件收不到?
Section titled “為什麼信件收不到?”現在為了防範詐騙和垃圾郵件,Gmail 等各大收信平台的驗證機制非常嚴格。
如果你的網站網址是 mycompany.com,但網站寄信時,是透過預設的 Linux 主機直接發信,對 Gmail 來說,就像是一個沒有帶身份證的陌生人,自稱是 mycompany.com 的信差。
缺少這些驗證時,郵件可能被拒收、隔離或放進垃圾信匣。實際結果還要看寄件網域、主機 IP、郵件內容與收件平台的判斷。
要提高郵件被正常接受的機會,通常要檢查下面三種網域驗證設定:
- SPF (Sender Policy Framework):宣告哪些伺服器有權限代表你的網域發信。
- DKIM (DomainKeys Identified Mail):幫你的郵件蓋上數位防偽印章。
- DMARC:告訴收信平台,如果遇到沒有身分證的偽造郵件時,該直接丟棄還是隔離。

常見的處理方向
Section titled “常見的處理方向”如果網站還在使用主機預設發信,我通常會先檢查下面三件事:
1. 停用主機預設發信,改用 SMTP 外掛
Section titled “1. 停用主機預設發信,改用 SMTP 外掛”在 WordPress 安裝 Post SMTP 或 WP Mail SMTP 外掛。這能讓網站借用專業發信伺服器的管道寄信,而不是用主機預設的陽春功能。
2. 綁定專業發信服務
Section titled “2. 綁定專業發信服務”依寄送量與信件用途選擇寄信服務,例如 Mailgun、SendGrid、Google Workspace 或 Microsoft 365。實際可用方式與費用要看服務商當時的方案。
3. 設定 DNS 發信授權
Section titled “3. 設定 DNS 發信授權”在你的網域商(如 Cloudflare、Gandi、GoDaddy)後台,新增發信平台提供的 SPF(TXT 記錄)與 DKIM 密鑰。
自我檢查三步驟
Section titled “自我檢查三步驟”下次遇到收不到信,請照這三個順序查,才不會找錯方向:
- 第一步:檢查後台有沒有留存紀錄 如果使用 Contact Form 7,可以搭配留存表單資料的外掛。後台看得到這筆留言,至少代表資料已經寫入網站;接著再查通知信有沒有產生、交給哪個寄信服務,以及失敗在哪一段。
- 第二步:查看發信日誌 (Email Log)
打開 Post SMTP 的「Email Log」功能,查看信件送出狀態。顯示
Success,通常只代表網站已把信交給寄信服務,不保證最後進入收件匣;如果顯示錯誤,先依 Error 訊息確認認證、連線或 API 狀態。 - 第三步:檢查主機資源與排程 如果表單連後台都沒存進去,就要檢查資料庫是不是滿了,或者安全外掛(如 Wordfence)把送出表單的動作誤判為惡意攻擊而擋下。