sms4j 3.0.0版本震撼发布 短信重试,多方共用,负载均衡正式来袭

🎉sms4j 3.0.0版本震撼发布 短信重试,多方共用,负载均衡正式来袭🎉

在历经了数月的等待之后(主要作者在摸鱼,写得慢。。。。)sms4j的3.0版本终于正式发布,本次版本为大版本更新,与2.x不兼容,但是本次更新是一个长期支持版本,并且带来了诸多的新特性,接下来我们一起来看看吧

🚀新特性

  • 支持短信失败重试,可以自定义重试次数

  • 支持单厂商多配置使用

  • 支持接口类配置

  • 支持自定义缓存来源

  • 支持默认负载均衡形式,权重可自定义配置

  • 支持邮件发送

  • 支持邮箱监听

  • 支持邮件发送失败自动重试

  • 支持短信拦截

🏇使用方式变更
在sms4j3.0版本中,使用方式与先前的2.X有所不同,使用上不再依托2.X中的枚举,而是改为更加自由的自定义key标识

SmsBlend smsBlend = SmsFactory.getSmsBlend(“在配置中定义的configId”);
SmsResponse smsResponse = smsBlend.sendMessage(“18888888888”,“123”);
🔧配置方式变更
在3.0版本中,去除了先前中的JDBC配置等形式,改为更加自由的接口类配置,同时保留了yml配置,项目更加轻量,使用更加自由方便

yml配置

sms:
    # 标注从yml读取配置
    config-type: yaml
    blends:
      # 自定义的标识,也就是configId这里可以是任意值(最好不要是中文)
      tx1:
        #厂商标识,标定此配置是哪个厂商,详细请看厂商标识介绍部分
        supplier: tencent
        #您的accessKey
        access-key-id: 您的accessKey
        #您的accessKeySecret
        access-key-secret: 您的accessKeySecret
        #您的短信签名
        signature: 您的短信签名
        #模板ID 非必须配置,如果使用sendMessage的快速发送需此配置
        template-id: xxxxxxxx
        #您的sdkAppId
        sdk-app-id: 您的sdkAppId
        # 自定义的标识,也就是configId这里可以是任意值(最好不要是中文)

接口类配置

@Component
public class ReadConfig implements SmsReadConfig {
    @Override
    public BaseConfig getSupplierConfig(String configId) {
        UniConfig uniConfig = new UniConfig();
       //此处仅为示例,实际环境中,数据可以来自任意位置,
        return uniConfig;
    }

    @Override
    public List<BaseConfig> getSupplierConfigList() {
        //此处仅为示例,实际环境中,数据可以来自任意位置,
        return null;
    }
}

@Component
public class Demo {
    @Autowired
    ReadConfig config;

    @PostConstruct
    public void init(){
        // 创建SmsBlend 短信实例
        SmsFactory.createSmsBlend(config,"在配置中定义的configId");
    }
}

📧邮件插件
邮件插件在这次的更新中也得到了很大的优化,现在的邮件插件使用起来更加简单方便,同时可以覆盖多种场景,并且支持自定义html模板发送邮件

支持包括:

  • html模板邮件

  • 携带多个附件的邮件

  • 自动打包成zip的邮件

  • 标准的文字邮件

  • 抄送人

  • 密送人

  • 失败自动重试

//以下仅做演示,实际使用需要填入数据

MailSmtpConfig config = MailSmtpConfig.builder.build;

//这里的key可以是任何可对比类型,用于后续从工厂取出邮件实现类用
MailFactory.put("qq",config)

MailClient mail = MailFactory.createMailClient("qq");

mail.send(message);

邮件插件去除了先前版本中过多的重载方法,统一改为send方法进行发送,通过MailMessage构建不同的邮件

📩邮箱监听
邮箱监听可以监听到某个IMAP协议邮箱中收到的邮件,并对其进行一定的处理。

MonitorFactory.put(“自定义的标识”,MailImapConfig配置,Monitor回调对象)
MonitorFactory.start(“put中自定义的标识”)

邮箱监听开启后可以监听指定配置下的邮箱,并将收到的邮件进行自定义的处理

🔨问题修复
本次版本中,还修复了2.X中存在的一些问题

  • 华为云短信在群发时签名错误

  • 腾讯云短信在某些情况下导致的发送失败

  • unisms的返回值存在异常

  • 阿里云短信在某些极端情况下会出现签名错误

  • springUtil与其他框架冲突

  • 多租户某些状态下配置存在问题

  • 邮件发送时ssl配置状态错误

仓库地址:https://gitee.com/dromara/sms4j

文档地址:https://wind.kim

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值