阿里云短信服務(wù)還是非常好的,接口穩(wěn)定,同時(shí)還提供SDK,使得企業(yè)的接入該服務(wù)更加方便。下面來看看阿里云提供的發(fā)短信的java實(shí)例代碼吧
成都創(chuàng)新互聯(lián)專注于網(wǎng)站建設(shè)|成都網(wǎng)站維護(hù)公司|優(yōu)化|托管以及網(wǎng)絡(luò)推廣,積累了大量的網(wǎng)站設(shè)計(jì)與制作經(jīng)驗(yàn),為許多企業(yè)提供了網(wǎng)站定制設(shè)計(jì)服務(wù),案例作品覆蓋成都水電改造等行業(yè)。能根據(jù)企業(yè)所處的行業(yè)與銷售的產(chǎn)品,結(jié)合品牌形象的塑造,量身策劃品質(zhì)網(wǎng)站。
1.接口TestController
import java.util.Random; 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.http.MethodType; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class TestController { @RequestMapping(value = "/test") public void sendCode() throws ClientException { //返回碼 String code = getCode(); //設(shè)置超時(shí)時(shí)間-可自行調(diào)整 System.setProperty("sun.net.client.defaultConnectTimeout", "20000"); System.setProperty("sun.net.client.defaultReadTimeout", "20000"); //初始化ascClient需要的幾個參數(shù) final String product = "Dysmsapi";//短信API產(chǎn)品名稱(短信產(chǎn)品名固定,無需修改) final String domain = "dysmsapi.aliyuncs.com";//短信API產(chǎn)品域名(接口地址固定,無需修改) //替換成你的AK final String accessKeyId = "";//你的accessKeyId,參考本文檔步驟2 final String accessKeySecret = "";//你的accessKeySecret,參考本文檔步驟2 //初始化ascClient,暫時(shí)不支持多region(請勿修改) IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId,accessKeySecret); SendSmsResponse sendSmsResponse = null; DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain); IAcsClient acsClient = new DefaultAcsClient(profile); //組裝請求對象 SendSmsRequest request = new SendSmsRequest(); //使用post提交 request.setMethod(MethodType.POST); //必填:待發(fā)送手機(jī)號。支持以逗號分隔的形式進(jìn)行批量調(diào)用,批量上限為1000個手機(jī)號碼,批量調(diào)用相對于單條調(diào)用及時(shí)性稍有延遲,驗(yàn)證碼類型的短信推薦使用單條調(diào)用的方式;發(fā)送國際/港澳臺消息時(shí),接收號碼格式為00+國際區(qū)號+號碼,如“0085200000000” request.setPhoneNumbers("15252095326"); //必填:短信簽名-可在短信控制臺中找到 request.setSignName("單點(diǎn)登錄"); //必填:短信模板-可在短信控制臺中找到,發(fā)送國際/港澳臺消息時(shí),請使用國際/港澳臺短信模版 request.setTemplateCode("SMS_xxxxxxxx"); //可選:模板中的變量替換JSON串,如模板內(nèi)容為"親愛的${name},您的驗(yàn)證碼為$[code]"時(shí),此處的值為 //友情提示:如果JSON中需要帶換行符,請參照標(biāo)準(zhǔn)的JSON協(xié)議對換行符的要求,比如短信內(nèi)容中包含\r\n的情況在JSON中需要表示成\\r\\n,否則會導(dǎo)致JSON在服務(wù)端解析失敗 request.setTemplateParam("{\"code\":\"" + code + "\"}"); //可選-上行短信擴(kuò)展碼(擴(kuò)展碼字段控制在7位或以下,無特殊需求用戶請忽略此字段) request.setSmsUpExtendCode("90997"); //可選:outId為提供給業(yè)務(wù)方擴(kuò)展字段,最終在短信回執(zhí)消息中將此值帶回給調(diào)用者 request.setOutId("yourOutId"); //請求失敗這里會拋ClientException異常 sendSmsResponse = acsClient.getAcsResponse(request); System.out.println(sendSmsResponse.getCode()); if (sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) { //請求成功 System.out.println("請求成功!"); } else { System.out.println("請求失?。?); } } /** * @return 隨機(jī)生成的6位驗(yàn)證碼 */ public static String getCode() { StringBuilder sb = new StringBuilder(); for (int i = 0; sb.length() < 6; i++) { int num = new Random().nextInt(10); sb.append(num); } return sb.toString(); } }
2.啟動類
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; @SpringBootApplication(exclude= {DataSourceAutoConfiguration.class}) public class SSOApplication { public static void main(String[] args){ SpringApplication.run(SSOApplication.class,args); } }
3.pom.xml
<?xml version="1.0" encoding="UTF-8"?>4.0.0 sso-test sso-test 1.0-SNAPSHOT http://maven.apache.org org.springframework.boot spring-boot-starter-parent 2.1.0.RELEASE org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-data-jpa javax.servlet javax.servlet-api provided commons-fileupload commons-fileupload 1.3 commons-io commons-io 2.6 org.codehaus.jackson jackson-core-asl 1.9.13 com.aliyun aliyun-java-sdk-core 4.0.8 com.aliyun aliyun-java-sdk-dysmsapi 1.1.0 com.google.code.gson gson 2.8.4 org.springframework.boot spring-boot-maven-plugin
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持創(chuàng)新互聯(lián)。