<mark>此插件，主要社区贡献人（风）</mark>

```xml
<dependency>
    <groupId>org.dromara.sms4j</groupId>
    <artifactId>sms4j-solon-plugin</artifactId>
    <version>最新版本</version>
</dependency>
```

#### 1、描述

短信发送工具 sms4j（[代码仓库](https://gitee.com/dromara/sms4j)）的适配插件。SMS4J 为短信聚合框架，帮您轻松集成多家短信服务，解决接入多个短信SDK的繁琐流程。 目前已接入数家常见的短信服务商，后续将会继续集成。目前已支持厂商有：

* 阿里云国内短信
* 腾讯云国内短信
* 华为云国内短信
* 京东云国内短信
* 容联云国内短信
* 亿美软通国内短信
* 天翼云短信
* 合一短信
* 云片短信

#### 2、配置示例

```yaml
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这里可以是任意值（最好不要是中文）
    tx2:
      #厂商标识，标定此配置是哪个厂商，详细请看厂商标识介绍部分
      supplier: tencent
      #您的accessKey
      access-key-id: 您的accessKey
      #您的accessKeySecret
      access-key-secret: 您的accessKeySecret
      #您的短信签名
      signature: 您的短信签名
      #模板ID 非必须配置，如果使用sendMessage的快速发送需此配置
      template-id: xxxxxxxx
      #您的sdkAppId
      sdk-app-id: 您的sdkAppId

```


#### 3、代码应用

```java
@Controller
public class TestController {

    @Mapping("/test")
    public void testSend(){
        //阿里云向此手机号发送短信
        SmsFactory.getSmsBlend("自定义标识1").sendMessage("18888888888","123456");
        //华为短信向此手机号发送短信
        SmsFactory.getSmsBlend("自定义标识2").sendMessage("16666666666","000000");
    }
}

```

启动代码，从浏览器访问 `http://localhost:8080/test/sms?phone=18888888888&code=123456` 等待手机收到短信