邮件
邮件
认证验证、重置密码和产品通知统一调用 mailService。生成器只保留选中的邮件
实现和依赖。
选择与配置
| 适配器 | 配置 | 场景 |
|---|---|---|
disabled | 无 | 本地先跑通不依赖投递的流程 |
resend | RESEND_API_KEY、EMAIL_FROM | 托管事务邮件 |
smtp | Host、Port、Secure、可选 User/Pass | 自有 SMTP 或兼容供应商 |
cloudflare-email | NEXTDEVTPL_EMAIL Binding、EMAIL_FROM | Cloudflare Workers |
disabled 被调用时会返回明确的未配置错误。需要邮箱验证或找回密码时,应选择
可投递实现。
主要代码
| 路径 | 作用 |
|---|---|
src/core/services/mail.ts | 统一邮件消息和能力接口 |
src/adapters/mail | 供应商实现 |
src/services/mail.ts | 当前邮件实例 |
src/features/mail/templates | React Email 模板 |
src/features/mail/server.ts | 产品邮件发送入口 |
src/lib/auth | 验证和重置密码触发点 |
新增邮件
- 在
src/features/mail/templates新建模板。 - 在
src/features/mail/server.ts组装发件人、收件人、主题、HTML 和纯文本。 - 通过
mailService.send()投递。 - 测试缺配置、供应商失败和成功返回,不记录收件内容或密钥。
生产前完成发件域名验证、SPF/DKIM/DMARC,并验证认证邮件中的 URL 使用正式域名。