sms-aggregation

短信聚合工具
授权协议 Apache-2.0
开发语言 Java
所属分类 程序开发、 短信彩信开发包
软件类型 开源软件
地区 国产
投 递 者 马国源
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

在日常的开发过程中,短信的发送经常使用(尤其是中小型的外包公司),毕竟不是每个公司都有阿里腾讯一样的实力, 也不是每个都像银行联通等公司一样有内部的短信规程。第三方的短信往往是最常见的解决方案,但是市面上第三方短信服务商众多, 各家都有不同的方式和标准,每次需要使用时候,都需要花费时间去阅读文档和编写相应的工具,为一个短信浪费了太多的精力和时间。 这个工具的目的就是为了统一下各个厂商的短信发送工具的标准,甚至于更换短信厂商只需要更改yml配置文件即可。

在SpringBoot环境集成

  1. maven引入

    <dependency>
     <groupId>kim.wind</groupId>
     <artifactId>sms-aggregation-spring-boot-starter</artifactId>
     <version> version </version>
    </dependency>
     
    最新版本请查看官网或gitee仓库
    最新的master版本会发布至maven中央仓库
  2. 设置配置文件

    sms:
    # 短信服务商 
    supplier: alibaba
    # 是否开启短信发送限制 默认false
    restricted: true
    # 以下设置仅在开启短信发送限制后生效
    # 是否使用redis进行缓存 默认false
    redisCache: true
    # 单账号每日最大发送量
    accountMax: 20
    # 单账号每分钟最大发送
    minuteMax: 2
     

阿里云配置示意

sms:
  # 短信服务商
  supplier: alibaba
  alibaba:
    #阿里云的accessKey
    accessKeyId: 您的accessKey
    #阿里云的accessKeySecret
    accessKeySecret: 您的accessKeySecret
    #短信签名
    signature: 测试签名
    #模板ID 用于发送固定模板短信使用
    templateId: SMS_215125134
    #模板变量 上述模板的变量
    templateName: code
    #请求地址 默认为dysmsapi.aliyuncs.com 如无特殊改变可以不用设置
    requestUrl: dysmsapi.aliyuncs.com
 
  1. 方法使用

    public class Demo{
     //此处作为演示使用,推荐使用构造注入或set注入
     @Autowired
     private final SmsBlend sms;
    
     public void test() {
         //发送固定模板短信
         SmsResponse smsResponse = sms.sendMessage("18888888888","测试固定模板短信");
         System.out.println(smsResponse);
     }
    }
     

配置详解

线程池配置

每一家厂商都对于异步短信有不同的支持,有些甚至没有,为了统一存在一个异步短信,我们配置了一个线程池用于执行异步短信任务,线程池默认配置如下:

sms:
  #核心线程池大小
  corePoolSize: 10
  #最大线程数
  maxPoolSize: 30
  #队列容量
  queueCapacity: 50
  #活跃时间
  keepAliveSeconds: 60
  # 线程名字前缀
  threadNamePrefix: sms-executor-
  #设置线程池关闭的时候等待所有任务都完成再继续销毁其他的Bean
  shutdownStrategy: true
  • 项目中需要做一个短信引擎,将信息验证码推送到短信平台,然后使用第三方短信平台发短信的功能,这是网上找到一个简单的实例,从中了解一二: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条免费短信,3条免费彩信,这足够用于我们测试用了。在使用前需要注册,注册地址为http://sms.webchinese.cn/reg.shtml),下面是程序源码: /** * @Da

  • sms-aggregation 自开源以来受到的众多的反馈,其中很多人在吐槽名字又丑又长不容易记,经过社区内投票之后,成功更定新名称 sms4j,新名称将伴随新的包名,groupId,新的特性,新的文档,在周六进行发布,这次的更新是跨越性的更新,也是全新的起航,在后续将会新版本的迭代计划和维护计划,在作者的有生之年,这个项目将长久的维护下去。 如果我们的项目对你产生了帮助或者你觉得还不错,请为我们

 相关资料
  • 本文向大家介绍Django Aggregation聚合使用方法解析,包括了Django Aggregation聚合使用方法解析的使用技巧和注意事项,需要的朋友参考一下 在当今根据需求而不断调整而成的应用程序中,通常不仅需要能依常规的字段,如字母顺序或创建日期,来对项目进行排序,还需要按其他某种动态数据对项目进行排序。Djngo聚合就能满足这些要求。 以下面的Model为例 快速了解 聚合生成Gen

  • org.hibernate.criterion.Projections 是 Projection 的实例工厂。我们通过调用 setProjection() 应用投影到一个查询。 List results = session.createCriteria(Cat.class) .setProjection( Projections.rowCount() ) .add( Restric

  • 本文向大家介绍python3.7实现云之讯、聚合短信平台的短信发送功能,包括了python3.7实现云之讯、聚合短信平台的短信发送功能的使用技巧和注意事项,需要的朋友参考一下 1、云之讯平台数据返回Json格式: 2、聚合平台数据返回Json格式: 总结 以上所述是小编给大家介绍的python3.7实现云之讯、聚合短信平台的短信发送功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时

  • 本文向大家介绍Java通过SMS短信平台实现发短信功能 含多语言,包括了Java通过SMS短信平台实现发短信功能 含多语言的使用技巧和注意事项,需要的朋友参考一下 Java通过SMS短信平台实现发短信功能  在项目中使用过发短信的功能,但那个由于公司内部的限制很麻烦,今天在网上找到一个简单的,闲来无事就把它记录如下: 本程序是通过使用中国网建提供的SMS短信平台实现的(该平台目前为注册用户提供5条

  • 本文向大家介绍MongoDB的聚合框架Aggregation Framework入门学习教程,包括了MongoDB的聚合框架Aggregation Framework入门学习教程的使用技巧和注意事项,需要的朋友参考一下 1. 聚合框架 使用聚合框架对集合中的文档进行变换和组合,可以用多个构件创建一个管道(pipeline),用于对一连串的文档进行处理。这些构件包括筛选(filtering),投射(