主题
为什么必须先配发信
不配的话,买家连注册都完不成
验证码只会打进服务器日志,买家永远收不到。 这不是"少了一个通知功能",是注册流程直接断掉。
有哪些邮件靠它
| 邮件 | 什么时候发 | 不发会怎样 |
|---|---|---|
| 注册验证码 | 买家注册 / 找回密码 | 注册不了、密码找不回来 |
| 订单确认 | 支付成功 | 买家不确定钱有没有付成功,来问客服或直接拒付 |
| 发货通知 | 你填运单号 | 买家不知道货发了,"我的东西呢" |
| 售后进度 | 申请 / 同意 / 拒绝 / 退款完成 | 买家以为申请石沉大海 |
| 客服工单回复 | 你在后台回复工单 | 买家不知道你回了 |
| 弃购挽回 | 加购/下单未付一段时间后 | 少一次挽回机会(这个可以没有) |
| 营销群发 | 你手动发 | 少一个渠道(这个可以没有) |
前五项是生意本身,最后两项是锦上添花。
没配的时候会怎样
系统不会崩,它会退化成「开发模式」:
[开发模式] register 验证码 123456 → us***@example.com验证码打进服务器日志(/opt/mall/logs/mall.log),注册流程照样能跑通 —— 但只有能 SSH 上服务器的人能拿到验证码。
这个设计是为了让你能先把别的配完
不至于因为发信没配好,整个后台就没法调试。但正式开卖前必须配上。
配了什么就算配好了
站点设置 → 联系与法务 → 发信服务 里两个字段:
| 字段 | 例子 | 说明 |
|---|---|---|
| 发信地址 | no-reply@你的域名 | 买家看到的发件人。留空 = 关闭发信 |
| API Key | re_xxxxxxxx | 发信服务商给的密钥,加密存库 |
这两个不在 .env 里
早期版本是写在服务器配置文件里的,现在全部搬到后台了。 不要再去服务器上找 .env 改这两项 —— 那里没有。
三步走
- 注册 Resend 并拿到 API Key
- 在 Cloudflare 配 DNS,让 Resend 验证你的域名
- 回后台填这两个字段,点「发送测试邮件」
一定要真发一封测试邮件
「域名没验证」「Key 失效」「发信地址不属于已验证域名」这几种错误, 只有真发一次才看得出来。后台会把服务商返回的原文完整显示出来。
填完就走人的话,你会在第一个买家注册不了的时候才发现。
为什么是 Resend 不是别的
系统内置的是 Resend。选它的理由:
- 免费额度够起步(每天 100 封 / 每月 3000 封)
- 域名验证走 DNS,Cloudflare 上点几下就完
- 接口简单,投递率好
想换别家?
系统目前只内置了 Resend 一家。要换 SendGrid / Mailgun / 阿里云邮件推送, 需要改代码(加一个发信实现)。不是在后台填个地址就能换的。
发信额度要盯着
营销群发会吃掉验证码的额度
验证码、订单确认、发货通知和群发走的是同一个配额。
一次群发把额度吃光 = 买家收不到验证码就注册不了、下完单收不到确认。 营销把生意本身挡住了。
所以系统给营销单独设了一个日限: 站点设置 → 联系与法务 → 发信服务 → 营销邮件日限,默认 70。
Resend 免费版是 100 封/天,留 30 封给事务邮件。升级付费档之后记得回来改这个数, 不改的话额度就是白买的。
⭐ 额度真的用尽了,系统会主动告诉你
配了 Bark 推送 的话,手机会响
这是有意做成持续响铃的一条告警,因为额度用尽是一种全静默的故障: 站点照常打开、后台一切正常、支付也没问题 —— 只有买家收不到验证码。
而这往往发生在你正投广告往里引人的时候:花钱引进来一个,漏掉一个, 可能几天后才从"怎么最近没新会员"里反推出来。
故障还在推送就一直来(每 30 秒一条,带累计失败次数), 修好之后自动停。推送里会直接写「去 Resend 后台升级套餐,或等明天配额重置」。
常见问题
测试邮件发成功了,但买家说没收到
按顺序查:
- 让他翻垃圾箱 —— 新域名的第一批邮件很容易进垃圾箱
- 确认 DNS 三条记录(SPF / DKIM / DMARC)在 Resend 后台都是 Verified
- 去 Resend 后台的 Logs 看那封信的状态:
delivered/bounced/complained bounced说明对方邮箱不存在或拒收,那是收件方的问题