邮件发送

邮件发送通知

版本 v1.0.1· 张先生 · 27 次获取 · 通知
独立 SMTP 邮件发送与模板管理,用于注册验证、找回密码、邮箱绑定。
免费

详情介绍

一、插件简介

邮件发送(mail)面向社区站点,提供独立 SMTP 发信、邮件模板管理与发送记录。用于注册邮箱验证码、找回密码、绑定/更换邮箱验证,以及注册欢迎信。

适合需要邮箱验证、密码找回、用户触达的场景。

  • 前台入口:注册页、找回密码页、账号设置绑定邮箱(发送验证码按钮)
  • 后台入口插件列表 → 邮件发送/admin/mail
  • 主要接口(伪静态后缀下同):
  • POST /mail/sendCode — 发送邮箱验证码

二、核心能力

能力说明
SMTP 发信独立配置 SMTP,亦可回退站点「邮件配置」
注册验证码开启后注册须验证邮箱
找回密码邮箱验证码重置密码
绑定邮箱更换/绑定邮箱须验证新邮箱
欢迎信注册成功后发送欢迎邮件
模板管理后台维护 HTML 模板与变量
发送记录查看成功/失败日志
安全限制验证码有效期、发送间隔、每日上限
邮箱验证字段自动为用户表添加 email_verified

三、依赖与安装

建议环境:

  • 可用的 SMTP 服务(企业邮箱、SendGrid、阿里云邮件等)
  • 社区注册/登录/账号设置流程(插件通过钩子接入)

安装步骤:

  1. 应用中心安装并启用 邮件发送
  2. 进入 邮件发送 → SMTP配置,填写服务器、端口、账号密码
  3. 点击「发送测试」确认可达
  4. 在应用中心开启所需验证码场景与欢迎信
  5. 检查 模板管理 中默认模板是否满足需求
  6. 走通注册/找回/绑定全流程

数据表:

  • {prefix}mail_template — 邮件模板
  • {prefix}mail_log — 发送记录
  • {prefix}mail_code — 验证码

默认模板标识: registerresetbindwelcome

四、应用中心基础配置

路径:应用中心 → 邮件发送 → 配置

配置项说明建议
启用邮件发送总开关;关闭后不发送任何邮件保持开启
注册邮箱验证码开启后注册必须验证邮箱建议开启
找回密码验证码找回密码需邮箱验证码建议开启
绑定邮箱验证码绑定/更换邮箱需验证建议开启
注册欢迎信注册成功后发送欢迎邮件按需
SMTP 主机、端口、账号等完整参数在后台 邮件发送 → SMTP配置 页维护(saveAdminConfig 会同步到站点「邮件配置」)。

五、后台重点配置

路径:插件列表 → 邮件发送

5.1 SMTP 配置(/admin/mail

说明默认
smtp_hostSMTP 服务器
smtp_port端口465
smtp_user / smtp_pass账号密码
smtp_securenone / ssl / tlsssl
smtp_from发件人地址默认同账号
smtp_from_name发件人名称站点名
code_ttl验证码有效期(秒)600
code_interval同邮箱发送间隔(秒)60
code_daily每日同邮箱上限10

smtpReady 条件: 插件启用 + host + user + pass 均已配置(插件或站点配置均可)。

5.2 模板管理(/admin/mail/template

支持变量:{site_name} {username} {nickname} {email} {code} {expire_minutes} {time}

模板 code用途
register注册验证码
reset找回密码
bind邮箱绑定
welcome注册欢迎信

5.3 发送记录(/admin/mail/log

查看每封邮件收件人、模板、状态、错误信息;支持删除与清空。

六、前台用户流程

注册

  1. 用户填写邮箱,点击获取验证码(POST /mail/sendCode,scene=register)
  2. 收到邮件填入验证码完成注册
  3. (可选)注册成功后收到欢迎信

找回密码

  1. 输入注册邮箱,获取验证码(scene=reset)
  2. 验证通过后设置新密码

绑定邮箱

  1. 登录后在账号设置填写新邮箱
  2. 获取验证码(scene=bind)并提交绑定
  3. email_verified 标记更新

七、后台审核与运维

操作说明
发送测试验证 SMTP 连通性
模板编辑调整标题与 HTML 正文
模板启停停用后该场景不发信
日志排查查看失败原因(认证、被拒、超时等)
同步站点配置保存 SMTP 时自动写入 SiteConfig

八、特殊说明

配置回退: 插件 SMTP 字段为空时,自动读取站点配置 mail_smtp_*mail_from 等。

needRegisterCode: 插件开关开启,或站点 user_email_verify=1 时均需注册验证。

用户表迁移: 安装时添加 email_verified 列,已有邮箱用户默认标为已验证。

场景常量: SCENE_REGISTERSCENE_RESETSCENE_BIND

九、推荐上线清单

  1. 配置并测试 SMTP
  2. 开启所需验证码场景
  3. 检查四套默认模板文案
  4. 设置合理的 TTL、间隔与每日上限
  5. 测试注册 → 欢迎信 → 找回密码 → 绑定邮箱
  6. 查看发送记录确认无异常

十、常见问题

Q:发不出邮件? 检查 SMTP 参数、防火墙端口、发件人是否被服务商限制;查看发送记录错误信息。

Q:注册不要验证码但仍提示? 关闭「注册邮箱验证码」,并检查站点 user_email_verify 是否仍为 1。

Q:验证码收不到? 查垃圾邮件;确认模板启用;检查是否触发间隔/每日上限。

Q:插件配置与站点邮件配置关系? 插件优先,空值回退站点配置;保存插件配置会同步到站点。

Q:卸载会删用户邮箱验证状态吗? 卸载删插件表,但 email_verified 列保留。

更新记录 (1)

  • v1.0.1 2026-08-24
    首次发布
微信客服 微信客服