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哦!

 


相關推薦

2023-09-06

修复bug(修复的形式为直接提交到1.X分支停止发版) 视频介绍 为了更好的让大家了解 2.1.0 作者录制了相关的视频 供大家快速了解上手 2.1.0 新功能与变更介绍: https://www.bilibili.com/video/BV1fj411y71X/ 更新日志 重大更新 [

2023-04-16

这个配置 is-start: 1 更多的新特性和功能不在这里一 一介绍了,具体的可以查看官方文档或者gitee仓库 官方文档   gitee仓库 您的支持是我们前进的动力,如果我们的项目对您产生了帮助或者您觉得还不错,请为我们点

2023-09-05

修复bug(修复的形式为直接提交到4.X分支停止发版) 视频介绍 为了更好的让大家了解 5.1.0 作者录制了相关的视频 供大家快速了解上手 5.1.0 新功能与变更介绍: https://www.bilibili.com/video/BV1fj411y71X/ 搭建与运行: https://www.bilibi

2023-04-15

,感谢gitee对于我们的支持。 SMS4J是一款基于Java语言的短信发送工具,它可以轻松地集成多家短信服务商,包括阿里云、腾讯云、华为云、云片、容联云通讯等等。开发者可以根据自己的需求选择不同的服务商,进行简单的配

2023-04-25

高框架的性能、可靠性和用户体验。在这里,我们将详细介绍这些更新内容。 数据库刷新和读取的方法进行了优化 为了提高系统的性能,我们对数据库刷新和读取的方法进行了优化。我们优化了查询和更新操作的算法和

2024-01-11

start 官网地址 gitee仓库 github仓库 新增功能: 联麓短信:我们新增了对联麓短信的支持,现在可以像使用其他厂商一样方便地进行使用。 鼎众短信:我们还新增了对鼎众短信的支持,鼎众短信可以发送无模板短信,有

2023-05-30

📣 爷爷!你关注的短信框架终于更新啦! 🎊SMS4J 2.1.0版本正式发布!🎊 本次更新带来了诸多的新特性,也修复了先前版本中的诸多问题,接下来让我们一起来看一下本次更新的内容吧! 🎉新特性🎉 新增天翼云短信支

2022-12-14

low github托管仓库: https://github.com/dromara/liteflow v2.9.5介绍 新版本我们完成了9个issue,其中包含着3个特性。 2.9.5版本的重点是横向扩展能力。 至此,LiteFlow在存储插件上原生支持了所有的关系型数据库,3种流行注册中心,

2023-08-11

项目介绍         项目地址:https://gitee.com/bootx/bootx-platform,非常欢迎看看项目介绍留以及个Star呀🤺🤺🤺     基于Spring Boot框架生态打造,针对单体式应用进行专门设计,同时做好模

2021-11-22

费性能提升在10倍以上。 本文到此就结束了,主要简略介绍了一个新的日志搜集系统(用户跟踪框架)的设计方案,以及该方案能带来的巨大的成本节省。相关代码日后会开源于"gitee.com"的京东零售账号下,届时有相关需求的

2023-06-30

/s JMH 基准测试 。 适应性:从 SegmentId 介绍中我们知道了影响 ID 乱序的因素有俩个:集群规模、Step 大小。集群规模是我们不能控制的,但是 Step 是可以调节的。 Step 应该近可能小才能使

2022-08-22

介绍 FastBoot 是采用 SpringBoot、SpringSecurity、Mybatis-Plus 等框架,开发的一套 SpringBoot 快速开发系统,使用门槛极低,且采用 MIT 开源协议,完全免费开源,可免费用于商业项目等场景。 采用组件模式,扩展不同的业务功能,可

2024-02-22

[重构] 代码适配 Hutool 6.0.0-M11 [重构] 改用 SMS4J 作为系统短信发送组件,重构相关代码,增加 access-sdk-sms 模块,删除已有 SMS 相关所有代码模块 [重构] 重构自定义 OAuth 2 授权模式代码,提取公共重复代码,去除 IDE 中代码重复

2022-08-10

ark", label: "备注", mock:'我是备注' //写死值 }, ] FHS Framework介绍: fhs 基于大家常用的技术栈,SpringBoot Cloud Mybatis Plus Sa-Token ,Vue ElementUI等等,但是为了能让程序员减少编码(尤其是无任何意义的编码),我们做了非常多的微创新。 1