• java 调用阿里云SMS短信验证码接口


    1、工具类

     1 import com.aliyuncs.DefaultAcsClient;
     2 import com.aliyuncs.IAcsClient;
     3 import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
     4 import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
     5 import com.aliyuncs.exceptions.ClientException;
     6 import com.aliyuncs.profile.DefaultProfile;
     7 import com.aliyuncs.profile.IClientProfile;
     8 import org.springframework.util.Assert;
     9 
    10 /**
    11  * 阿里云短信服务:
    12  * 注意:需要 签名名称、模版CODE 以及 RAM访问控制中的 AccessKeyID 和 AccessKeySecret
    13  */
    14 public class AliyunSmsUtils {
    15 
    16     //产品名称
    17     static final String PRODUCT = "Dysmsapi";
    18     //产品域名
    19     static final String DOMAIN = "dysmsapi.aliyuncs.com";
    20 
    21     static final String ACCESSKEYID = "";
    22     static final String ACCESSKEYSECRET= "";
    23 
    24     public static SendSmsResponse sendSms(String telephone, String code) throws ClientException {
    25         //可自助调整超时时间
    26         System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
    27         System.setProperty("sun.net.client.defaultReadTimeout", "10000");
    28         //初始化acsClient,暂不支持region化
    29         IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", ACCESSKEYID, ACCESSKEYSECRET);
    30         DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", PRODUCT, DOMAIN);
    31         IAcsClient acsClient = new DefaultAcsClient(profile);
    32         //组装请求对象-具体描述见控制台-文档部分内容
    33         SendSmsRequest request = new SendSmsRequest();
    34         //必填:待发送手机号
    35         request.setPhoneNumbers(telephone);
    36         //必填:短信签名-可在短信控制台中找到
    37         request.setSignName("");
    38         //必填:短信模板-可在短信控制台中找到
    39         request.setTemplateCode("");
    40         request.setTemplateParam("{"code":"" + code + ""}");
    41         // 扩展字段回执id
    42 //        request.setOutId("");
    43         SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
    44         Assert.isTrue((sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")),"短信发送失败!");
    45         return sendSmsResponse;
    46     }
    47 }
    AliyunSmsUtils

    2、调用示例

    AliyunSmsUtils.sendSms("phonenumber", "23456");
  • 相关阅读:
    网络学习笔记
    zabbix4.2学习笔记系列
    ansible2.7学习笔记系列
    记一次磁盘UUID不能识别故障处理
    白话ansible-runner--1.环境搭建
    kubernetes的思考
    计算机网络原理精讲第六章--应用层
    计算机网络原理精讲第五章--传输层
    centos7下LVM挂载和扩容
    多线程下载命令--axel
  • 原文地址:https://www.cnblogs.com/rolayblog/p/12365538.html
Copyright © 2020-2023  润新知