欢迎大家访问我的网站!

联系表单收不到邮件:SMTP、SPF/DKIM/DMARC 到退信的三段排查

表单能提交,不等于邮件能收到

网站联系表单最难受的故障不是报错,是静默失败。访客填完点了提交,页面提示"发送成功",你这边什么都没收到。等发现的时候,可能已经错过了十几个真实咨询。

原因是提交和发送是两件事。表单插件把数据写进数据库、给前端返回一个成功提示,这一步跟邮件真正投递出去没有任何关系。邮件发不发出去,取决于服务器能不能连上发信服务、以及收件方认不认这封信。

排查按下面的顺序走,能覆盖绝大多数情况。

邮件投递链路概念插画

图片由 AI 生成

第一步:确认服务器还能不能发信

很多云厂商默认封禁 25 端口,用来防止服务器被拿去发垃圾邮件。这是最普遍的原因,也是最容易误判的——你的代码没问题,SMTP 配置也没问题,只是端口不通。

验证方法:在服务器上执行 telnet smtp.你的服务商.com 587 或者用 nc -vz 测试。不通的话有两条路:用服务商的 465(SMTPS)或 587(STARTTLS)端口,这两个通常不封;或者直接用云厂商提供的邮件推送 API,走 HTTPS 443,彻底绕开 SMTP 端口问题。

顺带一提,用 mail() 函数或者服务器自带的 sendmail 发信,成功率很低。这类邮件没有发信域认证,几乎必然被判为垃圾邮件或者退信。正经做法是接 SMTP。

用插件接 SMTP

WordPress 上常见的选择是 WP Mail SMTP、Post SMTP 这类插件,配置界面填 SMTP 服务器、端口、加密方式、账号密码。配完之后插件一般提供一封测试邮件,这封测试邮件要真的能收到才算通过,插件显示"发送成功"不代表投递成功。

发信账号建议单独开一个,比如 noreply@你的域名,不要用个人邮箱。密码用服务商生成的应用专用密码,不要用邮箱登录密码——后者一旦泄露,整个邮箱都暴露了。

第二步:查 SPF、DKIM、DMARC 三件事

即使服务器能发信,收件方也可能拒收。判断依据是发信域的三条 DNS 记录,缺一条都会大幅提高进垃圾箱的概率。

  • SPF:一条 TXT 记录,声明哪些服务器有权代表你的域名发信。常见的错误是记录里漏了发信服务的 IP 段,或者有重复的 SPF 记录(一个域名只能有一条)
  • DKIM:给邮件加一个数字签名,收件方用你 DNS 里公开的公钥验证签名,确认邮件没被篡改。密钥一般由发信服务商生成,你要做的只是把那条 TXT 记录加进 DNS
  • DMARC:告诉收件方,当 SPF 和 DKIM 都验证失败时该怎么处理(放行、进垃圾箱、拒收),同时可以把验证结果报告发回给你

检查方法很简单:给 Gmail 发一封测试邮件,收到后在 Gmail 里打开"显示原始邮件",能看到 SPF、DKIM、DMARC 各自的验证结果,全部 pass 才算配置正确。国内邮箱多数也提供类似的邮件头查看入口。

邮件认证记录配置概念插画

图片由 AI 生成

第三步:看退信,别猜

如果前面都对还是收不到,去查退信记录。多数 SMTP 服务商的后台能看到投递日志:发出去了、被拒了、进了垃圾箱,状态写得很清楚。Post SMTP 这类插件还会把每封邮件的投递状态和错误码记在后台日志里。

常见的拒收原因几种:目标邮箱不存在、对方服务器把你列入黑名单、单小时发信量超过限制、邮件内容触发了垃圾邮件规则(大量链接、特定关键词)。

黑名单这一条要特别留意。如果你的服务器 IP 曾经被拿去发过垃圾邮件(共享 IP 的虚拟主机尤其常见),可能已经进了 RBL 黑名单,换个发信服务商往往比申诉快得多。

容易被忽略的几处配置

有几个坑排查时不容易想到,但出现频率不低。

  • 发信邮箱和 SMTP 账号不一致:表单配置里填的"发件人邮箱"是 gmail,SMTP 却用企业邮箱账号,服务商会拒绝中转。两边要一致
  • 收件箱规则把邮件过滤掉了:邮件其实到了,被收件箱的过滤规则自动归档或者删了。先去垃圾箱和"所有邮件"里翻一遍
  • 表单插件的收件地址被主题覆盖:换模板之后,某些主题会接管表单提交逻辑,插件里配的收件地址不生效。换主题后一定要重新测一次
  • 缓存插件缓存了表单页面:nonce 令牌被缓存后失效,提交直接被判为非法请求。给表单页面配置不缓存

配完之后,留一个定期检查的习惯

邮件链路是会变的:发信服务商改接口、域名 DNS 迁移时漏了一条记录、应用专用密码被重置。这些都不会在你眼前发生,只会表现为"最近好像没什么人联系我"。

建议的做法是每月手动提交一次表单,确认能收到。成本一分钟,但能避免整月失联。如果站点的咨询比较重要,可以在后台配一个每周自动发送的测试邮件,收不到就说明链路断了。

另外,重要的联系方式不要只靠表单。页面上留一个邮箱地址,访客在表单出问题时还有第二条路。这条看似倒退,实际上挽回过不少订单。

转载声明:本站发布文章及版权归原作者所有,转载本站文章请注明文章来源!

本文链接:https://www.zkui.cn/post/84.html

收藏 点赞

网友评论

热门文章
随机文章
热门标签
侧栏广告位
图片名称