* 戳上方蓝字“程序掘金”关注我
项目简介
SMS4J(Short Message Service for Java)是一个由dromara团队开发的短信聚合框架。在日常的项目开发中,短信验证码发送是一个必不可少的环节,特别是随着手机互联网的普及,几乎所有的安全验证都离不开短信验证码。
然而,市面上短信服务商众多,每家都有不同的API接口和标准,使得开发者在接入短信服务时需要花费大量时间和精力。
SMS4J正是为了解决这一痛点而诞生的,它通过封装各家短信服务商的API,提供了一个统一的发送标准,使得开发者只需通过简单的配置文件即可使用多家短信服务。
功能特性
开箱即用:SMS4J提供了极简单的配置方式,开发者只需在配置文件中填写相应的短信服务商信息,即可快速接入短信服务。 简单优雅:SMS4J统一了各家短信服务商的发送方式和功能,省去了学习不同短信服务商差异化方法的麻烦,使得发送短信变得更加简单和优雅。 切换灵活:通过配置文件,开发者可以轻松切换不同的短信服务商,无需修改代码,极大提高了开发效率和灵活性。 功能丰富:SMS4J不仅支持发送短信验证码,还支持发送固定模板短信、自定义模板短信等多种功能。同时,SMS4J还提供了一个默认的线程池用于执行异步短信任务,确保短信发送的效率和稳定性。 持续集成:SMS4J已经接入了多家常见的短信服务商,并且后续还将继续集成更多的短信服务商,以满足不同开发者的需求。
快速安装
以下是如何在Spring Boot项目中快速集成SMS4J的步骤:
1、添加依赖:
在项目的pom.xml
文件中添加SMS4J的依赖:
<dependency>
<groupId>org.dromara.sms4j</groupId>
<artifactId>sms4j-spring-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
2、配置文件:
在项目的application.yml
文件中添加SMS4J的相关配置:
sms:
config-type:yaml
blends:
自定义标识1:
accessKeyId:您的accessKey
accessKeySecret:您的accessKeySecret
signature:测试签名
templateId:SMS_215125134
templateName:code
requestUrl:dysmsapi.aliyuncs.com
自定义标识2:
appKey:5N6fvXXXX920HaWhVXXXXXX7fYa
app-secret:Wujt7EYzZTBXXXXXXEhSP6XXXX
signature:华为短信测试
sender:8823040504797
template-id:acXXXXXXXXc274b2a8263479b954c1ab5
url:https://XXXXX.cn-north-4.XXXXXXXX.com:443
3、编写测试代码:
在项目的控制器中编写测试发送短信的代码:
@RestController
@RequestMapping("/test/")
public class DemoController {
// 测试发送固定模板短信
@RequestMapping("/")
public void send() {
// 阿里云向此手机号发送短信
SmsFactory.getSmsBlend("自定义标识1").sendMessage("18888888888", "123456");
// 华为短信向此手机号发送短信
SmsFactory.getSmsBlend("自定义标识2").sendMessage("16666666666", "000000");
}
}
4、运行项目:
启动Spring Boot项目,访问/test/
接口即可测试发送短信功能。
项目小结
SMS4J
是一个功能丰富、简单易用的短信聚合框架,它极大地简化了短信服务的接入流程,提高了开发效率和灵活性。通过统一各家短信服务商的发送标准,SMS4J让发送短信变得更加简单和优雅。同时,SMS4J还提供了丰富的功能和灵活的切换方式,以满足不同开发者的需求。
项目地址:https://github.com/dromara/SMS4J