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

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

相关推荐
利威尔xu24 分钟前
Go IM 源码实战(14):本地缓存快 3000 倍,失效却难 10 倍
后端·缓存·微服务·面试·golang
逃逸线LOF1 小时前
Ribbon负载均衡原理(Irule组件、源码分析)
后端·spring cloud·ribbon
慢云智慧空间1 小时前
从设备智能到空间理解,空间智能终端解决方案商如何重新定义行业标准
后端
利威尔xu2 小时前
Go IM 源码实战(13):30 个会话只有 2 个红点,未读数错在三条路径
redis·后端·微服务·面试·golang
薛定谔的猫-菜鸟程序员2 小时前
软件架构设计师开发资料大全(从入门到精通)
后端·python·系统架构·flask·架构设计师
IT_陈寒4 小时前
SpringBoot多环境配置把我坑惨了,这个踩坑经验你最好看看
前端·人工智能·后端
码事漫谈4 小时前
DeepSeek 搞了个 "Super-agent",但不是超级智能
后端
吴凡wudianmei4 小时前
从 0 搭一个 AI Agent(四):SSE 跑通之后,三处“契约错配”与它们的修复边界
前端·后端·aigc
小兔子4 小时前
defer 的参数在写下那一刻就求值了,循环里这样写会踩坑
后端
苍何4 小时前
腾讯 Buddy One 来了,办公生态一键打通 WorkBuddy(附教程)
后端