springboot2.x 接入阿里云市場(chǎng)短信發(fā)送的實(shí)現(xiàn)
1.短信平臺(tái)購(gòu)買次數(shù)地址
https://market.aliyun.com/products/57000002/cmapi00046920.html
提供測(cè)試模板、免審核、測(cè)試成本更低
2.測(cè)試學(xué)習(xí)使用的話,3塊錢75多次夠用了

3.購(gòu)買后在跳轉(zhuǎn)成功頁面記錄
AppSecret、key、code

?4.記錄模板ID

5.上代碼環(huán)節(jié)
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory requestFactory){
return new RestTemplate(requestFactory);
}
@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setReadTimeout(10000);
factory.setConnectTimeout(10000);
return factory;
}
}
增加配置
@ConfigurationProperties(prefix = "sms")
@Configuration
@Data
public class SmsConfig {
private String templateId;
private String appCode;
}
application.yml

發(fā)送類
@Component
@Slf4j
public class SmsComponent {
/**
* 發(fā)送地址
*/
private static final String URL_TEMPLATE = "https://jmsms.market.alicloudapi.com/sms/send?mobile=%s&templateId=%s&value=%s";
@Autowired
private RestTemplate restTemplate;
@Autowired
private SmsConfig smsConfig;
/**
* 發(fā)送短信驗(yàn)證碼
* @param to
* @param templateId
* @param value
*/
public void send(String to,String templateId,String value){
String url = String.format(URL_TEMPLATE,to,templateId,value);
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization","APPCODE "+smsConfig.getAppCode());
HttpEntity entity = new HttpEntity<>(headers);
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
log.info("url={},body={}",url,response.getBody());
if(response.getStatusCode().is2xxSuccessful()){
log.info("發(fā)送短信驗(yàn)證碼成功");
}else {
log.error("發(fā)送短信驗(yàn)證碼失敗:{}",response.getBody());
}
}
}
測(cè)試類驗(yàn)證
@RunWith(SpringRunner.class)
@SpringBootTest(classes = AccountApplication.class)
@Slf4j
public class SmsTest {
@Autowired
private SmsComponent smsComponent;
@Autowired
private SmsConfig smsConfig;
@Test
public void testSendSms(){
smsComponent.send("138XXXXXXX",smsConfig.getTemplateId(),"666888");
}
}
發(fā)送成功咯

到此這篇關(guān)于springboot2.x 接入阿里云市場(chǎng)短信發(fā)送的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)springboot 阿里云短信發(fā)送內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Go Java算法之外觀數(shù)列實(shí)現(xiàn)方法示例詳解
這篇文章主要為大家介紹了Go Java算法外觀數(shù)列實(shí)現(xiàn)的方法示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-08-08
springboot寶塔簡(jiǎn)單部署的實(shí)現(xiàn)示例
通過使用Spring Boot,可以快速構(gòu)建出高效、可擴(kuò)展的應(yīng)用程序,而寶塔面板則提供了簡(jiǎn)單易用的網(wǎng)站管理和維護(hù)工具,本文將詳細(xì)介紹如何將Spring Boot應(yīng)用程序與寶塔面板進(jìn)行集成,實(shí)現(xiàn)自動(dòng)化部署、配置管理等操作2023-11-11
SpringBoot中配置Web靜態(tài)資源路徑的方法
這篇文章主要介紹了SpringBoot中配置Web靜態(tài)資源路徑的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
springboot?整合mysql實(shí)現(xiàn)版本管理通用最新解決方案
當(dāng)springboot微服務(wù)項(xiàng)目完成從開發(fā)到測(cè)試全流程后,通常來說,最終交付產(chǎn)物是一個(gè)完整的安裝包,這篇文章主要介紹了springboot?整合mysql實(shí)現(xiàn)版本管理通用解決方案,需要的朋友可以參考下2023-08-08
java關(guān)鍵字static學(xué)習(xí)心得
本篇文章給大家分享一篇關(guān)于java關(guān)鍵字static的學(xué)習(xí)心得,有這方面需要的朋友學(xué)習(xí)下吧。2018-01-01
idea一鍵部署SpringBoot項(xiàng)目jar包到服務(wù)器的實(shí)現(xiàn)
我們?cè)陂_發(fā)環(huán)境部署項(xiàng)目一般通過idea將項(xiàng)目打包成jar包,然后連接linux服務(wù)器,將jar手動(dòng)上傳到服務(wù)中,本文就來詳細(xì)的介紹一下步驟,感興趣的可以了解一下2023-12-12

