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("13980304975", "23456");

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章