springboot2.x 接入阿里云市场短信发送的实现
作者:9540王楠楠 时间:2023-09-20 23:03:57
1.短信平台购买次数地址
https://market.aliyun.com/products/57000002/cmapi00046920.html
提供测试模板、免审核、测试成本更低
2.测试学习使用的话,3块钱75多次够用了
3.购买后在跳转成功页面记录
AppSecret、key、code
4.记录模板ID
5.上代码环节
@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
发送类
@Component
@Slf4j
public class SmsComponent {
/**
* 发送地址
*/
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;
/**
* 发送短信验证码
* @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("发送短信验证码成功");
}else {
log.error("发送短信验证码失败:{}",response.getBody());
}
}
}
测试类验证
@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");
}
}
发送成功咯
来源:https://blog.csdn.net/wnn654321/article/details/121578434
标签:springboot,阿里云,短信,发送
0
投稿
猜你喜欢
C#实现的Socket服务器端、客户端代码分享
2021-09-29 00:22:28
C#使用ICSharpCode.SharpZipLib.dll进行文件的压缩与解压功能
2022-01-09 15:30:45
Mybatis延迟加载的实现方式
2023-08-19 11:07:32
Mybatis关联查询结果集对象嵌套的具体使用
2021-07-12 22:09:18
C#语言中字符类char的使用方法(总结)
2022-09-04 17:25:43
Android自带emoji表情的使用方法详解
2021-11-25 09:28:22
C#操作session的类实例
2023-07-17 13:57:19
C#检查指定对象是否存在于ArrayList集合中的方法
2023-07-28 00:45:17
Android开发SavedState Jetpack状态保存利器
2023-02-12 19:49:49
springboot如何读取自定义properties并注入到bean中
2022-12-16 22:22:09
java基础之包装类的介绍及使用
2023-01-10 17:45:29
使用Files.walkFileTree遍历目录文件
2021-09-27 06:12:40
C#中[]的几种用法示例代码
2022-03-20 05:50:46
springboot集成elasticsearch7的图文方法
2022-05-15 19:46:11
Java 中的 String对象为什么是不可变的
2023-08-04 03:24:32
android canvas使用line画半圆
2022-01-05 17:58:57
详解Android Studio安装ButterKnife插件(手动安装)
2023-07-06 13:59:32
SpringBoot项目从搭建到发布一条龙
2023-11-21 09:28:44
springboot实现配置两个parent的方法
2022-04-05 07:54:43
简单易懂的java8新特性之lambda表达式知识总结
2023-04-14 23:44:42