演示地址:
一个简单易用的短信网关服务,提供客户端SDK,支持阿里云、腾讯云、亿美短信发送,适用于中小型公司。
功能包含:应用管理、渠道管理、单发短信、延时短信。
客户端和服务端两种发送短信的模式,可以参考这篇文章: Java应用中如何发送短信
核心流程如下:
短信平台服务是JAVA应用,所以必须安装JDK(1.8或更高版本),安装并配置环境变量JAVA_HOME,然后将包含在JAVA_HOME中的bin目录追加到PATH变量中。
短信平台服务依赖外部MySQL和Redis两个服务,所以在部署之前必须安装好前置数据库。
选择最新的部署包:
创建数据库tech_platform
,执行doc/sql
目录下的tech_platform.sql
。
执行后效果如下:
从Release下载platform-sms-admin.tar.gz
,解压缩后,进入conf
目录。
编辑application.yml
文件:
进入bin目录,启动服务:
bin/startup.sh
服务启动后,访问地址:http://localhost:8089
。
用户名和密码存储在
conf
目录的application.yml
,默认用户名密码分别是:admin/admin1984。
应用信息包含应用名称、应用appKey
,应用秘钥
,备注
。其中,应用key和密钥在使用客户端SDK时需要配置。
注意:由于腾讯云 SDK 请求中需要携带 APPID,因此 Beta 版中将 appId 存储在附件属性中。
在"模板管理"模块,点击"新建模板"按钮。
创建模板时,签名名称必须与渠道申请的签名保持一致。
下图展示了作者在腾讯云申请的签名,创建的模板必须与腾讯云账号的签名保持一致。
创建模板后,需要绑定渠道。我们需要先在第三方渠道创建短信模板,然后提交绑定。
1、先在第三方渠道创建短信模板
如上图所示,作者创建了编号为 1955325 的短信模板。因为我们需要在绑定界面绑定该渠道的模板,理论上在短信平台创建的模板可以绑定多个渠道。
2、绑定渠道
绑定完成后,可以在模板管理页面查看模板列表。
发送短信可以参考 DEMO 模块:
<dependency> <groupId>cn.javayong</groupId> <artifactId>platform-sms-client</artifactId> <version>0.6.1</version> </dependency>
首先在 application.yml
中配置如下:
sms: smsServerUrl: http://localhost:8089 appKey: qQjEiFzn80v8VM4h appSecret: 9c465ece754bd26a9be77f3d0e2606bd
然后编写配置类:
@Configuration public class SmsConfiguration { @Value("${sms.smsServerUrl}") private String smsServerUrl; @Value("${sms.appKey}") private String appKey; @Value("${sms.appSecret}") private String appSecret; @Bean public SmsSenderClient createClient() { SmsConfig smsConfig = new SmsConfig(); smsConfig.setAppKey(appKey); smsConfig.setSmsServerUrl(smsServerUrl); smsConfig.setAppSecret(appSecret); SmsSenderClient smsSenderClient = new SmsSenderClient(smsConfig); return smsSenderClient; } }
@Autowired private SmsSenderClient smsSenderClient; @GetMapping("/test") public String test() { String mobile = "15011319235"; String templateId = "523419101760679938"; // 你好,你的信息是:${code} Map<String, String> param = new HashMap<String, String>(); param.put("code", "1234"); SmsSenderResult senderResult = smsSenderClient.sendSmsByTemplateId(mobile, templateId, param); System.out.println("senderResult:" + JSON.toJSONString(senderResult)); return "hello , first short message !"; }
@Autowired private SmsSenderClient smsSenderClient; @GetMapping("/test") public String test() { String mobile = "15011319235"; String templateId = "523419101760679938"; // 你好,你的信息是:${code} Map<String, String> param = new HashMap<String, String>(); param.put("code", "1234"); // 1个半小时之后发送 String attime = String.valueOf(System.currentTimeMillis() + 3600 * 1500L); SmsSenderResult senderResult = smsSenderClient.sendSmsByTemplateId(mobile, templateId, attime, param); System.out.println("senderResult:" + JSON.toJSONString*(senderResult)); return "hello , first short message !"; }
短信平台正在持续更新中,非常适合刚入行的Java工程师学习。有兴趣的同学可以加入勇哥的知识星球。
如何加入星球?
步骤1:添加我的微信(zhangyongtaozhe)
步骤2:微信扫一扫星球优惠券
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业 培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修 复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。