首页 > 其他分享 >springboot 集成阿里云短信服务,教你轻松实现短信发送功能

springboot 集成阿里云短信服务,教你轻松实现短信发送功能

时间:2024-08-08 16:24:22浏览次数:9  
标签:集成 code 短信 springboot AccessKey aliyun com String

springboot 如何发送短信功能

在 Spring Boot 中实现手机号发送短信功能,一般可以通过以下步骤:

一、选择短信服务提供商

这里使用了阿里云短信服务的 SDK 来发送短信。

阿里云官网:https://www.aliyun.com/

1.1 开通短信服务

在这里插入图片描述

进入短信服务控制台,依照如下步骤进行申请

在这里插入图片描述

1.2 新增资质

在这里插入图片描述

1.3 申请签名

在这里插入图片描述

1.4 申请模版

在这里插入图片描述

1.5 注册并获取相关凭证

在这里插入图片描述

使用子用户更安全

在这里插入图片描述

在这里插入图片描述

创建好之后,立刻将 AccessKey ID 和 AccessKey Secret 复制并保存

在这里插入图片描述

然后点击用户名称

在这里插入图片描述

二、添加依赖

API 地址:https://next.api.aliyun.com/document/Dysmsapi/2017-05-25/overview

在这里插入图片描述

以阿里云短信服务为例,使用 Maven 构建项目,添加如下依赖:

<dependency>
    <groupId>com.aliyun</groupId>
    <artifactId>dysmsapi20170525</artifactId>
    <version>3.0.0</version>
</dependency>

三、封装发送短信工具类

import com.aliyun.dysmsapi20170525.Client;
import com.aliyun.dysmsapi20170525.models.SendSmsRequest;
import com.aliyun.dysmsapi20170525.models.SendSmsResponse;
import com.aliyun.teaopenapi.models.Config;

public class SmsSenderUtil {
    // 服务提供商的凭证 AccessKey ID 和 AccessKey Secret
    private static final String ACCESS_KEY_ID = "你的 AccessKey ID";
    private static final String ACCESS_KEY_SECRET = "你的 AccessKey Secret";
    private static final String DOMAIN = "dysmsapi.aliyuncs.com";
    private static final String SIGN_NAME = "你申请的签名名称";
    private static final String TEMPLATE_CODE = "你的模版 code";

    // 短信发送接口
    public static SendSmsResponse sendSms(String phoneNumber, String code) {
        Config config = new Config()
                // 你的 AccessKey ID
                .setAccessKeyId(ACCESS_KEY_ID)
                // 你的 AccessKey Secret
                .setAccessKeySecret(ACCESS_KEY_SECRET);
        // 访问的 SDK 产品域名
        config.endpoint = DOMAIN;
        try {
            Client client = new Client(config);
            // 调用短信发送接口
            SendSmsRequest request = new SendSmsRequest()
                    // 必填:待发送手机号
                    .setPhoneNumbers(phoneNumber)
                    // 必填:短信签名
                    .setSignName(SIGN_NAME)
                    // 必填:短信模板CODE
                    .setTemplateCode(TEMPLATE_CODE)
                    // 选填:模板参数
                    .setTemplateParam("{\"code\":\"" + code + "\"}");
            return client.sendSms(request);
        } catch (Exception e) {
            return null;
        }
    }
}

四、发送短信测试

@SpringBootTest
public class ApplicationTests {    
    @Test
    public void testSms() throws Exception {
        int randomNum = new Random().nextInt(900000) + 100000;
        String code = String.format("%06d", randomNum);
        SendSmsResponse response = SmsSenderUtil.sendSms("发送的电话号码", code);
        System.out.println(new Gson().toJson(response.body));
    }
}

测试输出结果:

{ 
    "bizId":"420420322706264631^0",
    "code":"OK",
    "message":"OK",
    "requestId":"EEEF9008-483F-5221-A78A-F8B742D49194"
}

标签:集成,code,短信,springboot,AccessKey,aliyun,com,String
From: https://blog.csdn.net/qq_59068516/article/details/140899854

相关文章

  • 25届计算机毕设选题推荐-基于springboot的小区停车场管理系统的分析与设计
    博主介绍:✌十余年IT大项目实战经验、在某机构培训学员上千名、专注于本行业领域✌技术范围:Java实战项目、Python实战项目、微信小程序/安卓实战项目、爬虫+大数据实战项目、Nodejs实战项目、PHP实战项目、.NET实战项目、Golang实战项目。主要内容:系统功能设计、开题报告......
  • 基于SpringBoot+MySQL+SSM+Vue.js的校园二手图书交易管理系统(附论文)
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+MySQL+SSM+Vue.js的校园二手图书交易管理系统(附论文)技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+M......
  • 基于SpringBoot+Vue+MySQL的在线网盘系统
    获取见最下方名片信息获取见最下方名片信息获取见最下方名片信息演示视频基于SpringBoot+Vue+MySQL的在线网盘系统技术描述开发工具:Idea/Eclipse数据库:MySQLJar包仓库:Maven前端框架:Vue/ElementUI后端框架:Spring+SpringMVC+Mybatis+SpringBoot文字描述......
  • SpringBoot项目入门
    1.SpringBoot简介SpringBoot是一个用于快速构建基于Spring框架的应用程序的开源框架。它旨在简化Spring应用程序的初始搭建和开发过程,通过提供默认配置和约定大于配置的原则,使得开发者能够更快地启动新项目并减少样板代码的编写。 SpringBoot的一些关键特性:自动......
  • springboot+vue农产品商城【程序+论文+开题】-计算机毕业设计
    系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展和互联网普及率的不断提高,电子商务已成为推动全球经济的重要力量。在农业领域,传统农产品销售模式面临着信息不对称、流通环节多、成本高、效率低下等问题,严重制约了农产品的市场竞争力与农民增收。因此,构建一个......
  • springboot校园失物招领系统-计算机毕业设计源码17082
    目 录摘要1绪论1.1研究背景1.2 研究意义1.3论文结构与章节安排2 相关技术介绍2.1B/S结构2.2SpringBoot框架2.3MySQL数据库3系统分析3.1可行性分析3.2系统流程分析3.2.1数据新增流程3.2.2 数据删除流程3.3 系统功能分析3.3.1......
  • springboot仓库仓储管理系统-计算机毕业设计源码14514
    目录1绪论1.1选题背景与意义1.2国内外研究现状1.3论文结构与章节安排2系统分析2.1可行性分析2.1.1技术可行性2.1.2经济可行性2.1.3操作可行性2.1.4法律可行性2.2系统流程分析2.2.1系统开发流程2.2.2用户登录流程2.2.3系统操作流程2.2.4添......
  • java集成onlyoffice实现文档在线预览编辑
    一、onlyoffice是什么ONLYOFFICE是一款由AscensioSystemSIA公司开发的在线办公软件套件,它提供了文档编辑、电子表格、演示文稿和表单等多种办公工具,旨在提高团队协作效率和文档处理的便捷性。以下是关于ONLYOFFICE的详细介绍:1、软件概述名称:ONLYOFFICE文档(英文名ONLYOFFIC......
  • Springboot + ThymeLeaf发送邮件
    前言本文介绍了如何使用SpringBoot中的JavaMailSender发送邮件,包括配置发件箱相关参数以及如何结合模板引擎如Thymeleaf发送HTML邮件。1、导入jar包。<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId>......
  • springboot集成 AI 实现图片辅助设计功能
    springboot集成AI实现图片辅助设计功能在SpringBoot中实现一个图片辅助设计功能,通常会涉及到图像处理、计算机视觉以及机器学习(AI)技术的应用。这样的系统可以帮助用户进行图像编辑、风格转换、自动设计布局等。以下是一个基本步骤和技术栈建议,用于在SpringBoot中构建图......