最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信

这篇具有很好参考价值的文章主要介绍了最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

阿里云短信服务网址:阿里云登录 - 欢迎登录阿里云,安全稳定的云计算服务平台

第一步:申请签名(一般申请时长在1-2小时之间)特别注意:场景说明不要乱填以免申请不通过

最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信,阿里云,云计算

 第二步:申请短信模板(一般申请时长在1-2小时之间)特别注意:场景说明不要乱填以免申请不通过

最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信,阿里云,云计算

 第三步:购买短信套餐 | 或者充值大于一条短信的钱数

最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信,阿里云,云计算

 第四步:创建AccessKey (创建完之后记得保存 accessKeyId & accessKeySecret)

最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信,阿里云,云计算

 第四步:导入jar包

   <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>alibabacloud-dysmsapi20170525</artifactId>
            <version>2.0.22</version>
        </dependency>

第五步:封装发送验证码util


import com.aliyun.auth.credentials.Credential;
import com.aliyun.auth.credentials.provider.StaticCredentialProvider;
import com.aliyun.sdk.service.dysmsapi20170525.AsyncClient;
import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.sdk.service.dysmsapi20170525.models.SendSmsResponse;
import com.google.gson.Gson;
import darabonba.core.client.ClientOverrideConfiguration;

import java.util.HashMap;
import java.util.Map;
import java.util.concurrent.CompletableFuture;

public class SendSms {

    /**
     * 发送验证码工具类
     *
     * @param phone
     * @return Map<String, String>
     */
    public static Map<String, String> sendCode(String phone) {
        String accessKeyId = "******";// 填写自己创建accessKeyId 
        String accessKeySecret = "*****"; // 填写自己创建accessKeySecret 

        StaticCredentialProvider provider = StaticCredentialProvider.create(Credential.builder()
                .accessKeyId(accessKeyId)
                .accessKeySecret(accessKeySecret)
                .build());

        AsyncClient client = AsyncClient.builder()
                .region("cn-hangzhou") // Region ID
                .credentialsProvider(provider)
                .overrideConfiguration(
                        ClientOverrideConfiguration.create()
                                .setEndpointOverride("dysmsapi.aliyuncs.com")
                )
                .build();

        SendSmsRequest sendSmsRequest = SendSmsRequest.builder()
                .signName("****") // 这里需要填写自己的签名名称
                .templateCode("****")// 这里需要填写自己的短信模板code
                .phoneNumbers(phone)
                .templateParam("{\"code\":\"7981\"}")//这里是验证码
                .build();
        CompletableFuture<SendSmsResponse> response = client.sendSms(sendSmsRequest);
        try {
            SendSmsResponse resp = response.get();
            System.out.println(new Gson().toJson(resp));
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            client.close();
        }
        Map<String, String> codeMap = new HashMap<>();
        codeMap.put(sendSmsRequest.getPhoneNumbers(), sendSmsRequest.getTemplateParam());
        return codeMap;
    }

}

第六步:编写Controller接口

    /**
     * 发送短信接口
     */
    @GetMapping("/code")
    public ResponseBean<Map<String, String>> sendCode(@RequestParam("phone") String phone) {
        return ResponseBean.success(SendSms.sendCode(phone));
    }

测试:

最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信,阿里云,云计算

 短信验证码:

最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信,阿里云,云计算

 文章来源地址https://www.toymoban.com/news/detail-735502.html

到了这里,关于最近项目上需要发送短信整理了一篇文章 SpringBoot整合阿里云发送短信的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • C++项目实战-多进程(一篇文章)

    目录 目录 程序和进程的基本概念 单道程序设计和多道程序设计 并行和并发 进程控制块PCB 进程常用的命令  环境变量 环境变量操作函数 进程控制 进程间通信(IPC方法) 程序: 是指编译好的二进制文件, 在磁盘上,不占用系统资源。          包含了一系列如何创建一个进程

    2024年02月06日
    浏览(40)
  • docker从安装到部署项目,一篇文章教会你

    首先看下 Docker 图标: 一条小鲸鱼上面有些集装箱,比较形象的说明了 Docker 的特点,以后见到这个图标等同见到了 Docker 1. Docker 是一个开源的应用容器引擎,它基于 Go 语言开发,并遵从 Apache2.0 开源协议 2. 使用 Docker 可以让开发者封装他们的应用以及依赖包到一个可移植的

    2024年02月08日
    浏览(40)
  • 软件测试拿到项目之后该怎么做?请仔细看完这篇文章

    学习软件测试最关键的就是项目实战,如果说我们单纯的学了很多的软件测试理论基础或者很多工具和技术的话,但是没有项目实战去演练,那么面试还是被淘汰。 为了解决大家这样的问题,我搭建在自己的阿里云服务器上,其实就和你们企业自己部署在你们自己服务器上完

    2024年02月14日
    浏览(38)
  • 项目7:(aliyun)实现短信的发送和验证微服务和上传文件删除文件微服务

    ①gulimall-common和service-base放什么? gulimall-common写全局用的工具包 全局异常处理 全局返回值 工具包(生成随机数,校验手机号) service-base写服务的配置 redis配置类序列化的方式 swagger文档生成分组 ②生成四位或六位随机数 ③校验手机号码正确 ④补充错误代码-501阿里云响应失

    2023年04月19日
    浏览(31)
  • 一篇文章玩透awk

    awk有很多种版本,例如nawk、gawk。gawk是GNU awk,它的功能很丰富。 本教程采用的是gawk 4.2.0版本,4.2.0版本的gawk是一个比较大的改版,新支持的一些特性非常好用,而在低于4.2.0版本时这些语法可能会报错。所以,请先安装4.2.0版本或更高版本的gawk。 查看awk版本 这里以安装ga

    2024年02月06日
    浏览(31)
  • 一篇文章学会高级IO

    IO是数据在传输时的一种动作描述,分为输入数据(I)和输出数据(O)两种动作。和一般而言,IO都需要维护一个收发数据的缓冲区,例如read、recv函数和write、send函数,它们的数据缓冲区都是由系统帮助创建的。对于C语言中常用到的scanf函数和printf函数,同样不需要用户自

    2024年02月05日
    浏览(56)
  • 一篇文章完成Hbase入门

    HBase是一种分布式、可扩展、支持海量数据存储的NoSQL数据库。 1、数据模型结构 逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从HBase的底层物理存储结构(K-V)来看,HBase更像是一个multi-dimensional map(多维地图) HBase逻辑结构 2、物理存

    2024年01月16日
    浏览(37)
  • 七大 排序算法(一篇文章梳理)

    排序算法是计算机科学中不可或缺的一部分,它们在数据处理、数据库管理、搜索引擎、数据分析等多个领域都有广泛的应用。排序算法的主要任务是将一组数据元素按照某种特定的顺序(如升序或降序)进行排列。本文将对一些常见的排序算法进行详细的介绍和分析,包括

    2024年03月08日
    浏览(41)
  • 一篇文章理解虚拟滚动原理

    首先提到一个现象,前端的性能瓶颈那就是页面的卡顿,当然这种页面的卡顿包含了多种原因。例如HTTP请求过多导致数据加载国漫,下载的静态文件非常大导致页面加载时间很长,js中一些算法响应的时间过长等。很多前端工程师都花费很多的精力在dom渲染上来优化页面加载

    2024年02月05日
    浏览(27)
  • 【八大排序】一篇文章搞定所有排序

    1.1排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些的大小,递增或递减的排列起来的操作。 稳定性:假定在待排序的记录序列中,存在多个具有相同的的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中, r[i]=r[j],且r[i

    2024年04月09日
    浏览(68)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包