Java實(shí)現(xiàn)阿里云短信接口的示例
阿里云短信服務(wù)接口
阿里云短信服務(wù)(Short Message Service)是阿里云為用戶提供的一種通信服務(wù)的能力。
支持向國(guó)內(nèi)和國(guó)際快速發(fā)送驗(yàn)證碼、短信通知和推廣短信,服務(wù)范圍覆蓋全球200多個(gè)國(guó)家和地區(qū)。國(guó)內(nèi)短信支持三網(wǎng)合一專屬通道,與工信部攜號(hào)轉(zhuǎn)網(wǎng)平臺(tái)實(shí)時(shí)互聯(lián)。電信級(jí)運(yùn)維保障,實(shí)時(shí)監(jiān)控自動(dòng)切換,到達(dá)率高達(dá)99%。完美支撐雙11期間20億短信發(fā)送,6億用戶觸達(dá)。
快速開(kāi)發(fā)
①開(kāi)啟短信服務(wù)
1)登陸阿里云服務(wù)平臺(tái)

2)選擇控制臺(tái)

3)點(diǎn)擊左上角下拉按鈕選擇短信服務(wù)

4)開(kāi)通短信服務(wù)

②實(shí)名認(rèn)證
1)如果沒(méi)有實(shí)名認(rèn)證需要跳轉(zhuǎn)實(shí)名認(rèn)證界面

2)選擇相應(yīng)的認(rèn)證

3)選擇支付寶快速的認(rèn)證

③創(chuàng)建簽名與模板
1)添加簽名

2)選擇簽名使用場(chǎng)景
驗(yàn)證碼:只能使用驗(yàn)證碼模板
通用:都可以使用(申請(qǐng)較為嚴(yán)格)

3)創(chuàng)建短信模板

4)根據(jù)常用模板庫(kù)申請(qǐng)相應(yīng)短信模板
根據(jù)使用簽名可以創(chuàng)建相應(yīng)模板,注意:驗(yàn)證碼簽名只能使用驗(yàn)證碼模板

④完成前期的準(zhǔn)備工作
1)獲取申請(qǐng)成功的簽名(注冊(cè)時(shí)的簽名名稱)

2)獲取申請(qǐng)成功的短信模板(模版code)

3)獲取AccessKey ID 和 AccessKey Secret

⑤代碼書寫
1)導(dǎo)入相應(yīng)坐標(biāo)
<dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-core</artifactId> <version>4.5.3</version> </dependency> <dependency> <groupId>com.aliyun</groupId> <artifactId>aliyun-java-sdk-dysmsapi</artifactId> <version>1.0.0</version> </dependency>
2)創(chuàng)建短信發(fā)送工具類
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class SendSms {
private static final String AccessKeyId = "";//你的accessKeyId
private static final String AccessKeySecret = "";//你的accessKeySecret
private static final String SignName = "";//使用的簽名
private static final String TemplateCode = "";//發(fā)送短信使用的模板
private static IAcsClient acs = null;//服務(wù)對(duì)象
private static SendSmsRequest req = new SendSmsRequest();//短信發(fā)送請(qǐng)求對(duì)象
static {
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", AccessKeyId, AccessKeySecret);
acs = new DefaultAcsClient(profile);
}
//隨機(jī)生成指定位數(shù)驗(yàn)證碼
public static StringBuffer randomCode(int number){
//驗(yàn)證碼內(nèi)容集
final char[] CHARS = {
'0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
StringBuffer stringBuffer=new StringBuffer();
Random r=new Random();
for(int i=0;i<number;i++){
stringBuffer.append(CHARS[r.nextInt(CHARS.length)]);
}
return stringBuffer;
}
//自定義發(fā)送方法
public static boolean sendCode(String mobile, String code) throws ClientException {
req.setPhoneNumbers(mobile);//設(shè)置接收短信手機(jī)號(hào)
req.setSignName(SignName);//設(shè)置使用簽名
req.setTemplateCode(TemplateCode);//設(shè)置使用通知模板id
req.setTemplateParam("{\"code\":\"" + code + "\"}");//設(shè)置請(qǐng)求參數(shù) 以json字符串形式與模板一致
SendSmsResponse res = acs.getAcsResponse(req);//向服務(wù)器發(fā)送請(qǐng)求
//System.out.println("res code: " + res.getCode());//響應(yīng)狀態(tài)碼
// System.out.println("res message: " + res.getMessage());//響應(yīng)信息
if (res.getCode() == null && !res.getCode().equals("OK")) {
System.out.println(res.getMessage());
return false;
}
return true;
}
public static void main(String[] args) throws ClientException {
System.out.println(sendCode("手機(jī)號(hào)","驗(yàn)證碼"));
}
}
更多請(qǐng)查看阿里短信服務(wù)手冊(cè)
阿里短信服務(wù)手冊(cè)
到此這篇關(guān)于Java實(shí)現(xiàn)阿里云短信接口的示例的文章就介紹到這了,更多相關(guān)Java 阿里云短信接口內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JAVA實(shí)戰(zhàn)項(xiàng)目實(shí)現(xiàn)客戶選購(gòu)系統(tǒng)詳細(xì)流程
讀萬(wàn)卷書不如行萬(wàn)里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實(shí)現(xiàn)一個(gè)簡(jiǎn)單的客戶選購(gòu)系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-10-10
Java tomcat中的類加載器和安全機(jī)制你了解嗎
這篇文章主要介紹了Tomcat 類加載器的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下,希望能夠給你帶來(lái)幫助2021-09-09
spring通過(guò)jdbc連接數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了spring通過(guò)jdbc連接數(shù)據(jù)庫(kù)的相關(guān)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08
SpringCloud實(shí)現(xiàn)Eureka服務(wù)注冊(cè)與發(fā)現(xiàn)
這篇文章主要介紹了SpringCloud如何實(shí)現(xiàn)Eureka服務(wù)注冊(cè)與發(fā)現(xiàn),幫助大家更好的理解和學(xué)習(xí)使用SpringCloud,感興趣的朋友可以了解下2021-05-05
5分鐘快速學(xué)會(huì)spring boot整合Mybatis的方法
這篇文章主要給大家介紹了如何通過(guò)5分鐘快速學(xué)會(huì)spring boot整合Mybatis的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用spring boot具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12
Spring?IoC容器Bean作用域的singleton與prototype使用配置
這篇文章主要為大家介紹了Spring?IoC容器Bean作用域的singleton與prototype使用配置詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-12-12

