广交会回来第二周,一个中东客户在 WhatsApp 上问你:“I filled your form last week, no reply?” 你翻遍收件箱、垃圾邮件,甚至网站后台,什么都没有。
客户不会等你查。他下一封邮件已经发给隔壁展位了。
这件事最麻烦的地方在于它不报错。客户点了提交,页面显示“感谢您的留言”,你也以为收到了。断掉的那一环,没有任何人知道。
先做一次“客户测试”,10 分钟
别用自己的电脑、别连公司 WiFi。按客户的方式走一遍:
- 手机关掉 WiFi,用 4G/5G 流量打开自己的网站;
- 填表单,姓名写
TEST-1026,邮箱填你的 Gmail(不要填公司邮箱); - 提交后,看三个地方:Gmail 收件箱、Gmail 垃圾邮件、网站后台的表单记录。
三处的组合,直接告诉你是哪一环断的:
| 后台有记录 | 邮箱有邮件 | 断点在哪 |
|---|---|---|
| 有 | 有 | 链路是通的,问题在别处(客户填错邮箱,或对方服务器拦了你的邮件) |
| 有 | 无 | 断在发信:看断点 1、2、3、5 |
| 无 | 无 | 断在前端,根本没提交:看断点 4 |
断点 1:云服务器封了 25 端口(最高频)
腾讯云、阿里云、华为云的云服务器,默认封禁出站 25 端口,要单独申请解封,而且经常不给解(怕发垃圾邮件)。
PHP 的 mail() 函数调用本地 sendmail,sendmail 走 25 端口往外发。端口封了,邮件发不出去,而 mail() 只返回一个 false——表单插件照样认为提交成功,页面照样显示“感谢您的留言”。
怎么确认:装 WP Mail SMTP(或任意 SMTP 插件),用“发送测试邮件”,报 Connection timed out 或 Connection refused,基本就是它。
怎么修:别指望解封 25 端口,直接用企业邮箱的 SMTP,走 465(SSL) 或 587(STARTTLS)。腾讯企业邮、阿里企业邮、网易企业邮都支持。
断点 2:压根没配 SMTP,靠 PHP mail() 硬发
后台插件列表里一个 SMTP 相关插件都没有,那就是裸奔状态。
这种邮件的发件人往往是 www@localhost 或者服务器内网主机名,反查域名对不上,Gmail 直接判垃圾,严重点的当场拒收。
怎么修:配 SMTP,而且发件人地址必须和你域名一致,比如 no-reply@你的域名。这个邮箱要在企业邮里真实存在,不能随手编。
断点 3:发出去了,进了垃圾箱
这一环比上一环更阴——邮件确实发了,但客户不会去垃圾箱里翻你的报价。
怎么查:在 Gmail 打开那封测试邮件 → 右上三个点 → 显示原始邮件 → 找 Authentication-Results,看 spf= 和 dkim= 后面是 pass 还是 fail / softfail。
怎么修:域名 DNS 加三条记录。
- SPF:一条 TXT,例如
v=spf1 include:spf.mail.qq.com ~all(腾讯企业邮;用别家就换成对应服务商的域名)。注意一个域名只能有一条 SPF,有两条会直接失效。 - DKIM:在邮箱后台生成密钥,把给出的 TXT 记录加到 DNS。
- DMARC:主机记录
_dmarc,值v=DMARC1; p=none;,先用 none 观察一阵,别一上来就拒绝。
断点 4:前端 JS 报错,压根没提交
按 F12 打开开发者工具,切到 Console 看有没有红字;再切到 Network,点一次提交按钮,看有没有一条 POST 请求。
没有 POST:表单没发出去。常见原因三种——换了域名但表单接口地址还写着老域名;页面是 https 而接口是 http,被浏览器拦掉;验证码 SDK 加载失败卡住了提交。
这种情况最容易被误判成“邮件问题”,因为用户端表现是一样的:没反应,或者一直转圈。
断点 5:存进数据库了,但没发邮件
后台有记录、邮箱没邮件——说明前端和入库都正常,是“通知邮件”那段逻辑坏了。
最常见于表单插件升级之后:模板变量对不上、收件人被重置成管理员邮箱、或者通知规则被关掉了。
断点 6:收件地址本身就是坏的
拿你的 Gmail 给表单里配置的收件地址单独发一封。收得到,才叫通。
国内的坑主要是两个:表单里写的是 info@你的域名,但企业邮里根本没建这个账号;或者域名换了邮箱服务商,MX 记录没跟着改。
为什么这件事该当月修掉
一次询盘丢了你不会知道——丢了就是丢了,没有报错,没有日志,只有客户默默走掉。
自己算一下:一个柜的毛利,乘以一年因为这个丢掉的询盘数量。再对比修它的成本:多数情况半小时到两小时,不用花钱。
这笔账不用我劝。
暂无评论