使用SpringBoot发送阿里云短信

一、申请阿里云短信签名模板

1.1 申请短信签名

1. 登录阿里云,搜索短信服务

2. 在短信服务模块点击短信控制台

3. 然后再左边的选项卡点击快速学习和测试,点击申请签名

4. 填写相关信息,点击提交

5. 然后点击国内消息选项卡就可以看到你申请的签名和审核状态,审核通过之后才能使用,一般需要等待两个小时左右

6. 等待审核通过之后的签名就可以使用签名了

1.2 申请短信模板

1. 选择快速学习和测试选项卡,点击申请模板

2. 填写相关信息,最后点击添加按钮

3. 添加之后就可以查看我们申请的模板了,点击国内消息选项卡中的模板管理进行查看,刚添加完是审核中的状态,等通过之后就可以使用了

1.3 添加测试手机号码

二、使用SpringBoot进行整合

2.1 导入依赖

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-core</artifactId>
    <version>4.5.16</version>
</dependency>
<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
    <version>2.1.0</version>
</dependency>

2.2 添加配置

aliyun:
  sms:
    signName: # 短信签名
    templateCode:  #  短信模板CODE
    accessKeyId:  # ak id
    secret:  # ak secret

2.3 编写发送短信的类

@Component
public class SMS {
   @Value("${aliyun.sms.signName}")
   private String signName;
   @Value("${aliyun.sms.templateCode}")
   private String templateCode;
   @Value("${aliyun.sms.accessKeyId}")
   private String accessKeyId;
   @Value("${aliyun.sms.secret}")
   private String secret;
   /**
    * 发送短信
    * @param phoneNumbers 手机号
    * @param code 验证码
    */
   public  void sendMessage(String phoneNumbers,String code){
      //default 地域节点,默认就好;  后面是 阿里云的 id和秘钥
      DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId,secret);
      IAcsClient client = new DefaultAcsClient(profile);
      //这里不能修改
      CommonRequest request = new CommonRequest();
      request.setSysMethod(MethodType.POST);
      request.setSysDomain("dysmsapi.aliyuncs.com");    //短信服务的服务接入地址
      request.setSysVersion("2017-05-25");        //API的版本号
      request.setSysAction("SendSms");    //API的名称
      request.putQueryParameter("PhoneNumbers", phoneNumbers);    //接收短信的手机号码
      request.putQueryParameter("SignName", signName);//    短信签名名称
      request.putQueryParameter("TemplateCode", templateCode);//    短信模板Code,注意这个模板要和签名对应
      request.putQueryParameter("TemplateParam", "{\"code\":\""+code+"\"}"); //短信模板变量对应的实际值
      try {
         CommonResponse response = client.getCommonResponse(request);
         System.out.println(response.getData());
      } catch (Exception e) {
         e.printStackTrace();
      }
   }
}

最后我们就可以调用sendMessage方法来发送短信了~~~~

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值