短信通知

短信通知通知

版本 v1.0.2· 张先生 · 19 次获取 · 通知
对接阿里云短信服务,支持号码认证验证码、登录提醒、操作通知,以及手机快捷登录。
免费

详情介绍

一、插件简介

短信通知(sms)面向社区站点,对接 阿里云短信服务,支持号码认证验证码(SendSmsVerifyCode)与普通短信(SendSms)。涵盖注册/找回/绑定手机验证码、手机快捷登录、登录提醒与后台敏感操作通知。

适合需要手机号验证、快捷登录、安全告警的站点。

  • 前台入口
  • 注册、找回密码、绑定手机验证码
  • 登录弹窗「手机快捷登录」图标(auth_login_extra 插槽)
  • 后台入口插件列表 → 短信通知/admin/sms
  • 主要接口(伪静态后缀下同):
  • POST /sms/sendCode — 发送验证码
  • POST /sms/login — 手机验证码登录

二、核心能力

能力说明
号码认证验证码阿里云 SendSmsVerifyCode(dypns 产品)
普通短信阿里云 SendSms(dysmsapi)
注册验证码注册须验证手机号
找回密码手机验证码重置
绑定手机绑定/更换手机验证
手机快捷登录登录弹窗验证码登录,可自动注册
登录提醒用户/管理员登录成功后发短信
操作通知后台敏感操作后发短信
模板管理后台维护模板 CODE 与变量
发送记录查看状态与错误

三、依赖与安装

建议环境:

  • 阿里云账号,开通短信服务与(可选)号码认证服务
  • 已审核通过的短信 签名
  • 各场景对应的阿里云 模板 CODE
  • 建议创建仅含短信权限的 RAM 子账号 AccessKey

安装步骤:

  1. 应用中心安装并启用 短信通知
  2. 进入 短信通知 → 短信配置,填写 AccessKey、Region、签名等
  3. 模板管理 中配置各场景模板 CODE 与变量
  4. 应用中心开启所需功能开关
  5. 发送测试短信验证
  6. 走通注册/登录/通知流程

数据表:

  • {prefix}sms_template{prefix}sms_log{prefix}sms_code

场景常量: registerresetbindphone_loginloginoperation

四、应用中心基础配置

路径:应用中心 → 短信通知 → 配置

配置项说明建议
启用短信通知总开关保持开启
登录短信提醒登录成功后通知按需(注意费用)
敏感操作短信提醒后台删改等操作后通知安全要求高时开启
注册手机验证码注册须验证手机按需
找回密码验证码找回须手机验证按需
绑定/更换手机验证码绑定须验证建议开启
手机快捷登录登录弹窗显示手机登录入口按需
手机登录自动注册未注册号验证通过后自动建号默认开启
AccessKey、签名、Endpoint 等在后台 短信配置 页维护。

五、后台重点配置

路径:插件列表 → 短信通知

5.1 短信配置(/admin/sms

说明默认
access_key_id / access_key_secret阿里云密钥
region_id区域cn-hangzhou
sign_name短信签名
verify_productdypns(号码认证)/ smsdypns
verify_endpoint号码认证 Endpointdypnsapi.aliyuncs.com
sms_endpoint普通短信 Endpointdysmsapi.aliyuncs.com
code_ttl验证码有效期(秒)600
code_interval发送间隔(秒)60
code_daily每日同号上限10

aliyunReady 条件: 启用 + AccessKey + 签名均已配置。

5.2 模板管理

默认含 phone_login(手机快捷登录)等模板;变量需与阿里云审核模板一致。

常见变量:{code}{expire_minutes} 等。

5.3 发送记录

查看每条短信状态、错误码;支持删除与清空。

六、前台用户流程

手机快捷登录

  1. 登录弹窗见手机图标(需开启「手机快捷登录」)
  2. 输入手机号,获取验证码(POST /sms/sendCode,scene=phone_login)
  3. 提交验证码登录(POST /sms/login
  4. 未注册且开启自动注册则创建账号

注册/找回/绑定

与邮件插件类似,通过 sendCode 接口,scene 分别为 register / reset / bind

登录/操作通知(用户无感)

  • 前台/后台登录成功 → 若用户/管理员填写了 mobile 且开关开启则发短信
  • 后台敏感操作写入操作日志时触发通知

七、后台审核与运维

操作说明
测试发送验证密钥与签名
模板维护与阿里云控制台模板 CODE 保持一致
日志审计排查失败原因(欠费、模板不匹配、签名未审等)
管理员手机号填写在 admin.mobile
用户手机号填写在 user.mobile

八、特殊说明

插件钩子:

  • auth_login_extra — 登录弹窗注入手机快捷登录按钮

用户表迁移: 添加 mobile_verified 列;已有手机号默认已验证。

管理员表迁移: 添加 mobile 列供操作通知使用。

触发点(插件 README):

  • 前台登录:plugins/community/controller/Index.php::doLogin()
  • 后台登录:app/controller/admin/Login.php::check()
  • 后台操作:app/service/OperationLogService::write()

手机号校验: 中国大陆 11 位,normalizeMobile 去除非数字。

九、推荐上线清单

  1. 阿里云签名与模板审核通过
  2. 配置 RAM 子账号 AccessKey(最小权限)
  3. 后台填写完整参数并测试
  4. 模板 CODE 与变量名逐一核对
  5. 按需开启验证码与快捷登录
  6. 为管理员填写手机号(若开操作通知)
  7. 测试:发码 → 登录 → 查看发送记录

十、常见问题

Q:登录弹窗没有手机图标? 确认「手机快捷登录」开启且 aliyunReady 为真。

Q:提示模板不存在? 后台模板 CODE 须与阿里云一致,且模板已审核通过。

Q:登录提醒没收到? 检查用户/管理员是否填写手机号、开关是否开启;通知失败不阻断登录。

Q:号码认证 vs 普通短信? 验证码推荐 dypns + SendSmsVerifyCode;通知类用 SendSms

Q:自动注册关闭后? 仅已绑定手机号的账号可通过快捷登录进入。

Q:每日上限触发? 调整 code_daily 或等待次日;防刷设计。

更新记录 (2)

  • v1.0.2 2026-08-30
    1、适配开启「邀请成功需校验」时,短信验证通过也能立刻结算邀请奖励。
  • v1.0.1 2026-08-24
    首次发布
微信客服 微信客服