sms4j 2.2.0 介绍---短信而已,何必那么麻烦
短信而已,何必那么麻烦 -- sms4j功能介绍
在实际项目中,越来越多的东西需要我们去发送短信,虽说这个问题本身不难,但是各家短信厂商有着不同的方式和标准,导致我们学习和使用的成本极高,再加上发送代码及其繁琐,极大的浪费了我们宝贵的摸鱼时间。于是,为解决广大程序猿/媛的麻烦,将简单的事情回归到简单的本质,sms4j应运而生!
接下来我们介绍一下他的使用方式
maven引入
目前sms4j支持多种形式的使用,springboot模式,java原生se模式,solon模式,我们以springboot模式为例
<dependency> <groupId>org.dromara.sms4j</groupId> <artifactId>sms4j-spring-boot-starter</artifactId> <version> version最新版本查看官网 </version> </dependency>
配置
各家厂商有着许多的差异化的配置,这里我们也预留出了多种的配置方式,例如yml配置,sql配置,对象化配置等等。我们可以根据自己的实际情况选择一种合适的配置方式。
我们以yml配置为例:
sms: alibaba: #阿里云的accessKey accessKeyId: 您的accessKey #阿里云的accessKeySecret accessKeySecret: 您的accessKeySecret #短信签名 signature: 测试签名 #模板ID 用于发送固定模板短信使用 templateId: SMS_215125134 #模板变量 上述模板的变量 templateName: code #请求地址 默认为dysmsapi.aliyuncs.com 如无特殊改变可以不用设置 requestUrl: dysmsapi.aliyuncs.com huawei: #华为短信appKey appKey: 5N6fvXXXX920HaWhVXXXXXX7fYa #华为短信appSecret app-secret: Wujt7EYzZTBXXXXXXEhSP6XXXX #短信签名 signature: 华为短信测试 #通道号 sender: 8823040504797 #模板ID 如果使用自定义模板发送方法可不设定 template-id: acXXXXXXXXc274b2a8263479b954c1ab5 #华为回调地址,如不需要可不设置或为空 statusCallBack: #华为分配的app请求地址 url: https://XXXXX.cn-north-4.XXXXXXXX.com:443
进阶配置
sms4j框架本身支持了很多的功能,还有内部的一些参数值也可以进行配置,下面我们还是以yml为例:
sms: # 以下设置仅在开启短信发送限制后生效 # 是否使用redis进行缓存 默认false redis-cache: false # 单账号每日最大发送量 account-max: 20 # 单账号每分钟最大发送 minute-max: 2 #默认厂商配置来源 此处为枚举设置,支持sql和配置文件,默认为从yml配置文件获取,如无需求可不改变 config-type: config-file #启用框架banner打印,默认开启状态 is-print: true #核心线程池大小 corePoolSize: 10 #最大线程数 maxPoolSize: 30 #队列容量 queueCapacity: 50 #设置线程池关闭的时候等待所有任务都完成再继续销毁其他的Bean shutdownStrategy: true
发送短信
sms4j对于各个厂商的常用的短信发送方法都进行了封装,我们可以很方便的进行使用。
示例:
@RestController @RequestMapping("/test/") public class DemoController { // 测试发送固定模板短信 @RequestMapping("/") public void doLogin(String username, String password) { //阿里云向此手机号发送短信 SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage("18888888888","123456"); //华为短信向此手机号发送短信 SmsFactory.createSmsBlend(SupplierType.HUAWEI).sendMessage("16666666666","000000"); } }
至此为止,一个完整的短信发送流程就完成了。你不需要对他进行额外的封装,并且他统一了各个厂商的发送差距,降低了学习成本,可以在几分钟内完成短信发送的完整流程。
当然,身为一个gitee推荐项目必然不可能只有这一点功能啦!他在2.2版本还新增了邮件发送的插件,秉承了sms4j一向极简的传统,让本应该100行完成的邮件发送,变得一行代码即可完成,在这里呢我就不多介绍了,有兴趣的小伙伴可以去仓库或者官网查看详细的使用教程(都是保姆级教程哦)
gitee仓库地址: https://gitee.com/dromara/sms4j
github仓库: https://github.com/dromara/sms4j
官方文档:https://wind.kim/
各位别忘了用你发财的小手给点点star哦!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Stellarium 23.2 发布,开源 3D 天象模拟软件
Stellarium 23.2 已发布。从 v23.1 开始,发布的版本号将显示 year.release scheme。对于 Windows,所使用的 Qt 框架版本作为包名称的一部分可见。 Stellarium 是一款免费开源 GPL(自由软件基金会 GNU 通用公共许可证)软件,它使用 OpenGL 图形接口对星空进行实时渲染。软件可以模拟肉眼、双筒望远镜和小型天文等观察天空,根据观测者所处时间和位置,计算出天空中太阳、月球、行星等天体位置,并将其精确地显示出来。还可以绘制星座、演示天文现象,如流星雨、日食和月食等。 Stellarium 还被应用于天文馆中作为教学展示软件,作为天文爱好者星空望远镜观测辅助软件。 此版本的主要变化内容如下: 深空物体的矢量化标记 更新的支持地点 太阳系天体的发现情况 以及一些 bug 修复。 详情可参阅完整的更改列表。
- 下一篇
人大毕业生盗取全校学生信息建颜值打分网站,已被刑拘
近日,网传中国人民大学一名硕士毕业生涉嫌在校期间非法获取全校学生的个人信息,并利用这些信息制作了一个给学生颜值打分的网站。 针对“中国人民大学部分学生信息被非法获取”的情况,海淀警方接到报警后,立即开展调查。经查,嫌疑人马某某(男,25岁,该校毕业生)涉嫌非法获取该校部分学生个人信息等违法犯罪行为。 目前,马某某已被海淀公安分局依法刑事拘留,案件正在进一步调查中。 据悉,该毕业生还曾在自己的社交账号上公开炫耀自己的所作所为,但后来删除了相关内容。网传截图显示,该动态发布于 2020 年 10 月。 据网友爆料,该名硕士毕业生是中国人民大学高瓴人工智能学院 2019 级的一名男生,目前已经毕业。他在读研期间,利用自己的专业技术,盗取了全校学生的照片、姓名、学号、籍贯、生日等个人信息,并将这些信息按照不同的类别进行整理,搭建了一个网站,给全校学生进行颜值打分。 该网站不仅可以查看每个学生的颜值分数,还可以查看全校或各个院系的颜值排行榜。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19
- CentOS7,CentOS8安装Elasticsearch6.8.6