跳到內容

聯絡表單發信要注意的事情

信件問題,不一定是表單外掛的問題

Section titled “信件問題,不一定是表單外掛的問題”

當客戶在網站上填完聯絡表單,畫面顯示「送出成功」,但你沒收到,連垃圾信箱都沒有。

這時候很容易先判定表單外掛壞了。但畫面顯示送出成功,只代表送出流程完成到某個階段,不等於通知信已經送達。

要先拆開看:資料有沒有寫入網站、WordPress 有沒有把郵件交給寄信服務,以及收件端最後有沒有接受。


現在為了防範詐騙和垃圾郵件,Gmail 等各大收信平台的驗證機制非常嚴格。

如果你的網站網址是 mycompany.com,但網站寄信時,是透過預設的 Linux 主機直接發信,對 Gmail 來說,就像是一個沒有帶身份證的陌生人,自稱是 mycompany.com 的信差。

缺少這些驗證時,郵件可能被拒收、隔離或放進垃圾信匣。實際結果還要看寄件網域、主機 IP、郵件內容與收件平台的判斷。

要提高郵件被正常接受的機會,通常要檢查下面三種網域驗證設定:

  1. SPF (Sender Policy Framework):宣告哪些伺服器有權限代表你的網域發信。
  2. DKIM (DomainKeys Identified Mail):幫你的郵件蓋上數位防偽印章。
  3. DMARC:告訴收信平台,如果遇到沒有身分證的偽造郵件時,該直接丟棄還是隔離。

沒有發信身分證被 Gmail 拒收


如果網站還在使用主機預設發信,我通常會先檢查下面三件事:

1. 停用主機預設發信,改用 SMTP 外掛

Section titled “1. 停用主機預設發信,改用 SMTP 外掛”

在 WordPress 安裝 Post SMTPWP Mail SMTP 外掛。這能讓網站借用專業發信伺服器的管道寄信,而不是用主機預設的陽春功能。

依寄送量與信件用途選擇寄信服務,例如 MailgunSendGridGoogle WorkspaceMicrosoft 365。實際可用方式與費用要看服務商當時的方案。

在你的網域商(如 Cloudflare、Gandi、GoDaddy)後台,新增發信平台提供的 SPF(TXT 記錄)與 DKIM 密鑰。


下次遇到收不到信,請照這三個順序查,才不會找錯方向:

  • 第一步:檢查後台有沒有留存紀錄 如果使用 Contact Form 7,可以搭配留存表單資料的外掛。後台看得到這筆留言,至少代表資料已經寫入網站;接著再查通知信有沒有產生、交給哪個寄信服務,以及失敗在哪一段。
  • 第二步:查看發信日誌 (Email Log) 打開 Post SMTP 的「Email Log」功能,查看信件送出狀態。顯示 Success,通常只代表網站已把信交給寄信服務,不保證最後進入收件匣;如果顯示錯誤,先依 Error 訊息確認認證、連線或 API 狀態。
  • 第三步:檢查主機資源與排程 如果表單連後台都沒存進去,就要檢查資料庫是不是滿了,或者安全外掛(如 Wordfence)把送出表單的動作誤判為惡意攻擊而擋下。