跳至主要內容

🍵在JavaSE环境集成

xiaoyan大约 3 分钟

在JavaSE环境集成

1.创建项目

在 IDE 中新建一个 Java 项目,例如:sms-demo-javase

2.添加依赖

在项目中添加maven依赖:

<dependency>
        <groupId>org.dromara.sms4j</groupId>
        <artifactId>sms4j-javase-plugin</artifactId>
        <version> version </version>
</dependency>

3.初始化短信配置

在调用短信发送之前进行短信配置,多次发送只配置一次即可。当前支持4种配置方式,可根据需要选择一种进行配置。具体配置项可参考各厂商差异化配置和进阶配置等内容。

  • 方式1:使用yaml配置文件

在资源目录中创建配置文件sms4j.yml,然后写入相关配置,书写方式同springboot的yaml配置

sms:
  alibaba:
    access-key-id: 您的accessKey
    access-key-secret: 您的accessKeySecret
    template-id: 您的templateId
    template-name: 您的templateName
    signature: 您的短信签名
# 其他配置……

调用配置方法。fromYaml()方法会读取并加载sms4j.yml中的配置

SEInitializer.initializer().fromYaml();
  • 方式2:使用yaml配置字符串

调用fromYaml(String),直接传入yaml配置字符串

String yaml = "sms:\n" +
        "  alibaba:\n" +
        "    access-key-id: 您的accessKey\n" +
        "    access-key-secret: 您的accessKeySecret\n" +
        "    template-id: 您的templateId\n" +
        "    template-name: 您的templateName\n" +
        "    signature: 您的短信签名";
SEInitializer.initializer().fromYaml(yaml);
  • 方式3:使用json配置字符串
String json = "{\n" +
        "    \"sms\": {\n" +
        "        \"alibaba\": {\n" +
        "            \"templateName\": \"您的templateName\",\n" +
        "            \"accessKeyId\": \"您的accessKey\",\n" +
        "            \"accessKeySecret\": \"您的accessKeySecret\",\n" +
        "            \"signature\": \"您的短信签名\",\n" +
        "            \"templateId\": \"您的templateId\"\n" +
        "        }\n" +
        "    }\n" +
        "}";
SEInitializer.initializer().fromJson(json);
  • 方式4:自定义配置

通过各厂商构造器实例化配置实例,然后初始化

// 实例化各厂商配置
SmsConfig smsConfig = new SmsConfig();
smsConfig.setConfigType(ConfigType.SETTINGS_FILE);
AlibabaConfig alibabaConfig = AlibabaConfig.builder()
        .accessKeyId("您的accessKey")
        .accessKeySecret("您的accessKeySecret")
        .templateId("您的templateId")
        .templateName("您的templateName")
        .signature("您的短信签名")
        .build();
TencentConfig tencentConfig = TencentConfig.builder()
        .accessKeyId("您的accessKey")
        .accessKeySecret("您的accessKeySecret")
        .signature("您的短信签名")
        .templateId("您的templateId")
        .sdkAppId("短信sdkAppId")
        .build();
// 初始化配置
SEInitializer.initializer()
        .initSmsConfig(smsConfig)
        .initAlibaba(alibabaConfig)
        .initTencent(tencentConfig);

4.发送短信

调用发送方法发送短信

SmsFactory.createSmsBlend(SupplierType.ALIBABA).sendMessage("手机号码", "短信");