首页 > 其他分享 >springboot集成阿里云短信服务

springboot集成阿里云短信服务

时间:2025-01-02 19:29:15浏览次数:9  
标签:集成 短信 springboot aliyun 测试 com 模板 String

springboot集成阿里云短信服务

一.阿里云账号准备

流程:注册阿里云账号=>短信服务=>新增资质=>新建签名=>新建模版=>申请秘钥=>用代码测试

1.注册阿里云账号
2、登录成功后,
① 在首页搜索短信服务

image-20241230162236828

② 打开第一个搜索结果

image-20241230162323631③ 免费开通
image-20241230162349037
④ 可以根据提示立即更新个人/公司信息(即新增资质),也可以点击取消(根据个人需求选择,如果是自己玩,跳过即可。如果是项目集成,请立即补充,因为实际项目发短信必须要资质)

注:资质名称即短信 开头【】中的名称 :

image-20241230162449304
④ 新增资质:根据图中红框标识,查看申请说明(建议了解规则,避免新增资质失败)

image-20241230162539595

二、短信服务控制台

1、打开快速学习和测试

注:红框标识中的步骤必须完成!后两个步骤属于实际项目中的防护操作!
image-20241230162736870

2、申请秘钥

(1)点击头像,选择AccessKey 管理
image-20250102093947995
(2)如果没有账号,选择开始使用子用户(细化权限,互不影响使用)
① 使用AccessKey 管理

② 选择开始使用子用户

1》选择创建用户

image-20250102094704489

2》创建用户

image-20250102094606727

注意:名称格式为英文字母、数字、.、_或-。
3》 下载文件/获取秘钥信息

image-20250102094726748

注:可以从下载的CSV文件中获取,也可以直接复制AccessKey ID / AccessKey Secret
4》子用户管理
添加用户组:
用户组可能以项目为维度,比如用户组1为电商项目,用户组2为教培项目。
也可能以用户权限维度,比如用户组1,只能读,用户组2只能写。

添加用户权限:
具体到该用户有哪些权限:
总之按需选择,比如我们只需要短信,查找sms相关的选择即可:
image-20250102094807935

3、测试(推荐使用最后一种代码测试方法,方便理解)

① api测试:绑定手机号,选择测试模板(如果已申请短信模板,选择相应的模板测试即可),点击调用API发送短信,测试手机号收到短信!
image-20241230162941643

② 控制台测试(此种方式优先推荐测试):选择测试模板,模板选择验证码(通知类型经测试也是默认验证码短信内容,要想实现自定义效果,需要先申请模板),自行输入接收短信的手机号
image-20241230163141661

③ api调用测试:控制台测试中,有查看API demo 按钮,点击即可跳转

注:此种方式调用,需要准备好签名、短信模板才可以!
image-20241230163210010
④ 代码测试:选择sdk示例,根据需求选择相应开发语言代码的示例到本地,写个测试方法

注:此种方式调用,需要准备好签名、短信模板、秘钥才可以!
测试代码如下:

先引入依赖:

<dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>tea</artifactId>
            <version>1.3.1</version>
        </dependency>
        <!-- 阿里云短信服务 SDK -->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>dysmsapi20170525</artifactId>
            <version>3.1.0</version>
        </dependency>

        <!--         阿里云核心库-->
        <dependency>
            <groupId>com.aliyun</groupId>
            <artifactId>tea-openapi</artifactId>
            <version>0.3.4</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.47</version>
        </dependency>
        <!-- SLF4J API -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.7.36</version>
        </dependency>

        <!-- Logback 实现 -->
        <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.11</version>
        </dependency>

代码:

package com.aliyun.sms;

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


public class AliyunSmsService {

    private final Client client;

    public AliyunSmsService(String accessKeyId, String accessKeySecret) throws Exception {
        Config config = new Config()
                .setAccessKeyId(accessKeyId)
                .setAccessKeySecret(accessKeySecret);
        this.client = new Client(config);
    }

    public SendSmsResponse sendSms(String phoneNumber, String signName, String templateCode, String templateParam) throws Exception {
        SendSmsRequest request = new SendSmsRequest()
                .setPhoneNumbers(phoneNumber)
                .setSignName(signName)
                .setTemplateCode(templateCode)
                .setTemplateParam(templateParam);
        return client.sendSms(request);
    }

    public static void main(String[] args) {
        try {
            // 替换为你的 AccessKeyId 和 AccessKeySecret
            String accessKeyId = "换成你的AccessKeyId";
            String accessKeySecret = "换成你的AccessKeySecret";

            AliyunSmsService smsService = new AliyunSmsService(accessKeyId, accessKeySecret);

            // 替换为实际的手机号码、签名名称、模板代码和模板参数
            String phoneNumber = "要给谁发就替换为谁的电话号码";
            String signName = "新提醒";
            String templateCode = "SMS_476140185";  // 确保模板代码正确
            String templateParam = "{\"code\":\"1111\"}";

            SendSmsResponse response = smsService.sendSms(phoneNumber, signName, templateCode, templateParam);
//            System.out.println(JSON.toJSONString(response));
        } catch (TeaException e) {
            System.err.println("TeaException: " + e.getMessage());
        } catch (Exception e) {
            System.err.println("Exception: " + e.getMessage());
        }
    }
}

我使用的是代码测试,简单方便且容易看懂.

eaException: " + e.getMessage());
} catch (Exception e) {
System.err.println("Exception: " + e.getMessage());
}
}
}


我使用的是代码测试,简单方便且容易看懂.

标签:集成,短信,springboot,aliyun,测试,com,模板,String
From: https://blog.csdn.net/yanmoumou_/article/details/144893023

相关文章

  • springboot流浪猫狗管理系统-毕业设计源码05049
    目录摘要1绪论1.1选题背景与意义1.2国内外目前现状2 系统分析2.1系统需求分析2.1.1系统功能性需求分析2.1.2系统非功能性需求分析2.1.3系统用例分析2.2可行性分析3系统设计3.1环境配置及关键技术3.1.1环境配置1.运行环境3.1.2关键技......
  • 【有源码】流浪宠物管理系统+SpringBoot+VUE+前后端分离
    学弟,学妹好,我是爱学习的学姐,今天带来一款优秀的项目:流浪宠物管理系统。本文介绍了系统功能与部署安装步骤,如果您有任何问题,也请联系学姐,偶现在是经验丰富的程序员!一.系统演示管理后台-截图  前端-截图  视频演示https://githubs.xyz/show/326.mp4 二.系统概......
  • 学生成绩管理系统源码分享(SpringBoot+Layui+Thymeleaf),附安装教程和运行说明-幽络源
    源码概述这是一套基于SpringBoot+Layui+Thymeleaf开发的学生成绩管理系统源码,功能简单易用,非常适合初学者学习。通过此项目可以学习到:Layui的使用方法;Thymeleaf模板引擎的基本操作;CRUD(增删改查)的实现;两种Echarts数据可视化图表:饼图和柱状图。系统运行环境Java版本:1.8编译......
  • Java框架 —— SpringBoot(二)
    整合JDBC导入依赖:spring-boot-starter-jdbc<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency>导入依赖:mysql-connector-j<dependency><g......
  • 解决方案 | vmsg短信备份数据如何恢复文字版内容?
     下载vmsg2csv.exe软件:https://wwnb.lanzoul.com/iyv6q2jq4osj选择vmsg即可转换成为短信内容了。 (如果打开csv是乱码,请使用记事本打开转换为ansi编码即可) 打开sms.csv即可看到短信了:   参考资料:感谢作者提供的代码,但是源代码稍微有点问题已经修改并且打包为exeht......
  • springboot毕设设备维护小程序前端视频程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着现代工业的快速发展,各类设备在生产、生活中的应用日益广泛。设备的复杂性和数量不断增加,传统的设备维护管理方式面临着诸多挑战。例如,维护信......
  • springboot毕设上门废品回收系统后端程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着社会经济的发展和人们生活水平的提高,废品产生量不断增加。传统的废品回收方式存在诸多弊端,如效率低下、覆盖范围有限、资源配置不合理等 [1......
  • springboot毕设企业人事管理系统程序+论文+部署
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景在当今竞争激烈的商业环境中,企业的人力资源管理面临着诸多挑战。随着企业规模的不断扩大和业务的日益复杂,传统的人事管理方式已经难以满足企业高......
  • 【开源免费】基于SpringBoot+Vue.JS学生网上请假系统(JAVA毕业设计)
    本文项目编号T111,文末自助获取源码\color{red}{T111,文末自助获取源码}......
  • 【开源免费】基于SpringBoot+Vue.JS物资管理系统(JAVA毕业设计)
    本文项目编号T110,文末自助获取源码\color{red}{T110,文末自助获取源码}......