Spring中使用腾讯云发送短信验证码的实现示例

网友投稿 432 2022-08-21


Spring中使用腾讯云发送短信验证码的实现示例

目录1.所需依赖2.腾讯云配置(1).获取短信签名(2).创建正文模板(3).创建密钥(4).获取SdkAppId3.代码

1. 所需依赖

com.tencentcloudapi

tencentcloud-sdk-java

3.1.313

2. 腾讯云配置

(1). 获取短信签名

在腾讯云控制台中找到短信

我使用网站创建签名

需要有域名, 且域名已完成备案

下面这个图是网站备案号, 在腾讯云控制台搜索网站备案即可找到

创建成功

记下 SignName

(2). 创建正文模板

模板随便选一个即可, 其中的{1} {2}是参数, 后来配置需要

我选择的第一个, 一个参数

成功后, 记下TemplateId

(3). 创建密钥

记录密钥 SecredId 和 SecretKey

(4). 获取SdkAppId

3. 代码

public class SmsServiceTencentSmsImpl {

public void send(String mobile, String message) { // 参数是电话号码和发送的内容

try {

Credential cred = new Credential(你的SecredId, 你的SecredKey);

// 实例化一个http选项,可选的,没有特殊需求可以跳过

HttpProfile httpProfile = new HttpProfile();

httpProfile.setEndpoint("sms.tencentcloudapi.com");

// 实例化一个client选项,可选的,没有特殊需求可以跳过

ClientProfile clientProfile =http:// new ClientProfile();

clientProfile.setHttpProfile(httpProfile);

// 实例化要请求产品的client对象,clientProfile是可选的

SmsClient client = new SmsClient(cred, "ap-guangzhou", clientProfile);

// 实例化一个请求对象,每个接口都会对应一个request对象

SendSmsRequest req = new SendSmsRequest();

String[] phoneNumberSet1 = {"+86" + mobile};

req.setPhoneNumberSet(phoneNumberSet1);

req.setSmsSdkAppId(你的SdkAppId);

req.setSignName(你的SignName);

req.setTemplateId(你的TemplateId);

String[] templateParamSet1 = {message}; // 你的正文模板参数, 我的是一个, 如果两个数组里两个元素

req.setTemplateParamSet(templateParamSet1);

// 返回的resp是一个SendSmsResponse的实例,与请求对象对应

SendSmsResponse resp = client.SendSms(req);

// 输出json格式的字符串回包

System.out.prinhttp://tln(SendSmsResponse.toJsonString(resp));

} catch (TencentCloudSDKException e) {

System.out.println(e.toString());

http:// }

}

}


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解析SpringBoot 搭建基于 MinIO 的高性能存储服务的问题
下一篇:Java实现简单图书借阅系统
相关文章

 发表评论

暂时没有评论,来抢沙发吧~