跳到內容

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

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

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

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

這時候,十個老闆有九個會聯絡工程師說:「表單外掛壞了。」

這是一個非常常見的誤會。

畫面既然顯示送出成功,代表表單外掛(如 Contact Form 7)已經順利把資料收下來,它的工作就結束了。信件之所以不見,是主機在幫你「寄信」的過程中,可能被 Gmail 或 Outlook 直接擋在門外。


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

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

Gmail 會直接認定這是「詐騙信」,連垃圾信箱都不給進,直接在伺服器端把信刪除。

要讓郵件順利寄達,你的網域必須具備以下三張 「電子身分證」(在你的 DNS 裡面設定):

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

沒有發信身分證被 Gmail 拒收


要徹底解決漏信問題, Ben 建議的標準配置是:

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

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

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

小公司如果寄信量不大(一個月幾百封),可以申請 MailgunSendGrid 的免費或低度付費額度;如果公司有買 Google WorkspaceMicrosoft 365,也可以直接設定 SMTP 串接。

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


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

  • 第一步:檢查後台有沒有留存紀錄 如果是用 Contact Form 7,請確保有搭配安裝 Advanced Contact Form 7 DB 外掛。如果去後台看得見客戶的留言紀錄,代表表單功能 100% 正常,單純是信件寄送失敗。
  • 第二步:查看發信日誌 (Email Log) 打開 Post SMTP 的「Email Log」功能,查看信件送出狀態。如果顯示綠色的 Success,代表信已經成功送給發信服務商了;如果顯示紅色錯誤,直接看上面的 Error 訊息(通常是密碼過期或 API 斷線)。
  • 第三步:檢查主機資源與排程 如果表單連後台都沒存進去,就要檢查資料庫是不是滿了,或者安全外掛(如 Wordfence)把送出表單的動作誤判為惡意攻擊而擋下。