短信平台 Pro 版本 ,比开源版本更强大

大家好,我是勇哥。 在 2023 年,勇哥写了一个开源版的短信平台 ,见链接。 三个月写了个迷你版的短信平台,开源出来!

最近,我花了两个月时间重写了我们的短信服务项目(知识星球版本)。这次重构主要基于几个核心需求:

  1. 不同类型的短信需要发送隔离 营销短信、验证码短信和通知短信的时效性要求不同,需要从队列、拉取、消费到发送的链路完全独立。
  2. 渠道配置需要更灵活 不同短信渠道(如腾讯云、阿里云)的配置项不同,系统需要支持动态扩展,例如腾讯云需单独配置 appId。
  3. SDK 需支持批量发送 无论是单发还是群发,SDK 都要提供简洁易用的接口,并同时支持国内与国际短信。
  4. 管理端支持大规模批量发送 支持通过界面上传 Excel 文件进行批量发送,能够稳定处理十万级别的发送任务。

1 短信渠道配置

系统默认支持腾讯云、阿里云、合一短信、亿美四种渠道,每种渠道都有独立的配置页面,并支持动态扩展字段。例如腾讯云可以单独配置 appId,确保不同渠道的差异化参数都能灵活接入。

每种渠道支持配置单独的配置项 :

如图,腾讯 SDK 发送短信需要配置 appId , 我在设计页面时,增加了渠道扩展字段,可以动态的添加属性。

2 短信类型发送隔离

针对营销、验证码、通知不同类型的短信,系统为每种类型独立配置了消息队列主题、拉取线程和消费线程,实现从队列到发送的全程隔离,避免相互影响,保障高时效性短信的优先送达。

3 SDK 支持批量发送

在 SDK 层面,已完整实现单发与批量发送接口,同时支持国内与国际短信,调用简单,易于集成到各类业务系统中。

4 管理端批量发送(手工 + 文件)

1、模板无参数

如图,当配置的短信模板没有参数时,可以直接手工输入手机号 ,发送短信。

2、模板有参数

如图,我们上传了一个示例 Excel , Excel 内部的数据格式:

短信模板内容是:

bash 复制代码
${code}为您的登录验证码,请于${time}分钟内填写,如非本人操作,请忽略本短信。

提交任务之后,可以查看任务列表 以及任务详情 ,也可以精确到通过哪个渠道发送短信。

5 总结

本项目基于勇哥开源的 magic-admin 项目研发,虽然花了不少时间,但因个人开发者当前已无资质申请短信模板(需企业资质),自测范围有限。同时受限于个人精力,部分功能暂时做了隐藏:自动向渠道申请模板回调回执机制

对该项目感兴趣的朋友,可以联系我,加入知识星球获取完整源码。

相关推荐
IT_陈寒15 小时前
Redis持久化这个坑,我爬了一整天才出来
前端·人工智能·后端
无风听海15 小时前
多租户系统中的 OIDC:Discovery 端点与联合登录的深度实践
后端·python·flask
小小前端仔LC16 小时前
Node.js + LangChain + React:搭建个人知识库(六)- “吃什么”项目实战:从700+菜谱入库到Taro H5端JSON渲染
前端·后端
程序员黑豆16 小时前
AI全栈开发之Java:怎么配置Java环境变量
前端·后端·ai编程
苍何17 小时前
一手实测 Claude Fable 5,手搓了个 Obsidian 的 Codex 插件
后端
swipe17 小时前
做多轮对话 Agent,为什么我建议把短期记忆放到 Redis
后端·面试·llm
程序员黑豆18 小时前
AI全栈开发之Java:什么是JDK
前端·后端·ai编程
阿明在折腾18 小时前
从Canvas到AI模型:我在线工具站里的图片处理实战
前端·后端
tyung18 小时前
Go 手写 Wait-Free SPSC 无界队列:无 CAS、无锁、泛型节点池
数据结构·后端·go
Lucien32319 小时前
学完 Spring Boot 再看 FastAPI,我破防了
后端