经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » Java相关 » Spring » 查看文章
springboot2.x 接入阿里云市场短信发送的实现
来源:jb51  时间:2021/11/29 10:50:28  对本文有异议

1.短信平台购买次数地址

https://market.aliyun.com/products/57000002/cmapi00046920.html

提供测试模板、免审核、测试成本更低

2.测试学习使用的话,3块钱75多次够用了

3.购买后在跳转成功页面记录

AppSecret、key、code

?4.记录模板ID

5.上代码环节

  1. @Configuration
  2. public class RestTemplateConfig {
  3. @Bean
  4. public RestTemplate restTemplate(ClientHttpRequestFactory requestFactory){
  5. return new RestTemplate(requestFactory);
  6. }
  7. @Bean
  8. public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
  9. SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
  10. factory.setReadTimeout(10000);
  11. factory.setConnectTimeout(10000);
  12. return factory;
  13. }
  14. }

增加配置

  1. @ConfigurationProperties(prefix = "sms")
  2. @Configuration
  3. @Data
  4. public class SmsConfig {
  5. private String templateId;
  6. private String appCode;
  7. }

application.yml

发送类

  1. @Component
  2. @Slf4j
  3. public class SmsComponent {
  4. /**
  5. * 发送地址
  6. */
  7. private static final String URL_TEMPLATE = "https://jmsms.market.alicloudapi.com/sms/send?mobile=%s&templateId=%s&value=%s";
  8. @Autowired
  9. private RestTemplate restTemplate;
  10. @Autowired
  11. private SmsConfig smsConfig;
  12. /**
  13. * 发送短信验证码
  14. * @param to
  15. * @param templateId
  16. * @param value
  17. */
  18. public void send(String to,String templateId,String value){
  19. String url = String.format(URL_TEMPLATE,to,templateId,value);
  20. HttpHeaders headers = new HttpHeaders();
  21. headers.set("Authorization","APPCODE "+smsConfig.getAppCode());
  22. HttpEntity entity = new HttpEntity<>(headers);
  23. ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
  24. log.info("url={},body={}",url,response.getBody());
  25. if(response.getStatusCode().is2xxSuccessful()){
  26. log.info("发送短信验证码成功");
  27. }else {
  28. log.error("发送短信验证码失败:{}",response.getBody());
  29. }
  30. }
  31. }

测试类验证

  1. @RunWith(SpringRunner.class)
  2. @SpringBootTest(classes = AccountApplication.class)
  3. @Slf4j
  4. public class SmsTest {
  5. @Autowired
  6. private SmsComponent smsComponent;
  7. @Autowired
  8. private SmsConfig smsConfig;
  9. @Test
  10. public void testSendSms(){
  11. smsComponent.send("138XXXXXXX",smsConfig.getTemplateId(),"666888");
  12. }
  13. }

发送成功咯

到此这篇关于springboot2.x 接入阿里云市场短信发送的实现的文章就介绍到这了,更多相关springboot 阿里云短信发送内容请搜索w3xue以前的文章或继续浏览下面的相关文章希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号