最近访客
暂无访客
暂无访客
详情
评论
问答

SMS4J-让短信发送变得更简单

文章最后更新时间:2025-01-22 16:56:45

图片[1]- SMS4J-让短信发送变得更简单- 如烟笔记

众所周知,在我们日常的项目开发中,短信验证码发送是一个必不可少的环节。

特别是如今手机互联网时代,基本所有东西都跟手机强绑定,所有的安全验证都离不开验证码这一环节。

所以对于一个系统来说,发送短信验证码成为一个必不可少的功能,面对市场上短信各种繁杂的API接口更是无从下手。

为了解决这种痛点,SMS4J孕育而生。

介绍

官网地址:https://github.com/dromara/SMS4J

SMS4J说白点就是一个聚合各种短信API商的工具,封装了各个短信商的API,通过一个通用的标准暴露出来,减少开发者的工作量。

不必为了一个短信浪费太多的精力和时间,只需要通过更改简单的配置文件即可使用。

把简单、易用、方便留给用户,把复杂留给框架,而SMS4J的正是这样的一个框架。

使用

Easy-Es作为一款轻巧强大、简单高效、功能丰富的框架,使用起来也是很方便。

1、引入依赖

<dependency>
 <groupId>org.dromara.sms4j</groupId>
 <artifactId>sms4j-spring-boot-starter</artifactId>
 <version>最新版本</version>
</dependency>

2、配置

在配置文件中添加SMS4J 必须的相关配置

sms:
   config-type: yaml
   blends:
       自定义标识1:
         #阿里云的accessKey
         accessKeyId: 您的accessKey
         #阿里云的accessKeySecret
         accessKeySecret: 您的accessKeySecret
         #短信签名
         signature: 测试签名
         #模板ID 用于发送固定模板短信使用
         templateId: SMS_215125134
         #模板变量 上述模板的变量
         templateName: code
         #请求地址 默认为dysmsapi.aliyuncs.com 如无特殊改变可以不用设置
         requestUrl: dysmsapi.aliyuncs.com
       自定义标识2:
         #华为短信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
       自定义标识3:
         #助通短信
         #助通终端用户管理的用户名 username 必填;非登录账号密码,请登录后台管理地址进行查看:https://mix2.zthysms.com/login
         accessKeyId: tusxxxxxxXXX
         #助通终端用户管理的用户名 passwrod 必填;
         accessKeySecret: UbXXXxxx
         #短信签名,可选;可选的时候,只能使用自定义短信不能使用模板短信; 具体在这里查看审核过的短信签名:https://mix2.zthysms.com/index.html#/SignatureManagement
         signature: 上海千XXXX

3、开始使用

@RestController
@RequestMapping(“/test/”)
public class DemoController {

    // 测试发送固定模板短信
    @RequestMapping(“/”)
    public void send() {
         //阿里云向此手机号发送短信
        SmsFactory.getSmsBlend(“自定义标识1”).sendMessage(“18888888888″,”123456”);
        //华为短信向此手机号发送短信
        SmsFactory.getSmsBlend(“自定义标识2”).sendMessage(“16666666666″,”000000”);
    }
}

最后

SMS4J使用特别简单,是一个小巧丰富的短信验证码发送工具,目前支持国内十多家短信运营商,基本满足我们开发对接使用

最后在贴上地址:

github代码:https://github.com/dromara/SMS4J

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容