springboot+sms 集成腾讯云短信平台
springboot+sms 集成腾讯云短信平台实现发送短信功能
一、申请短信功能
到腾讯云管理平台申请短信功能(https://console.cloud.tencent.com/)
1.1 创建短信签名
1.2 创建短信正文模板
1.3 创建应用
可使用系统默认应用或者创建新应用
二、集成短信功能
查看腾讯云账户密钥对 secretId 和 secretKey(https://console.cloud.tencent.com/cam/capi)
springboot接入文档:https://cloud.tencent.com/document/product/382/43194
两步即可轻松完成接入
2.1 导入依赖
在springboot的pom文件中引入依赖
<!--腾讯云短信API-->
<dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java</artifactId><version>3.1.167</version>
</dependency>
2.2 编写发送短信代码
package com.bestoyc.springbootsms;import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;//导入可选配置类
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;// 导入 SMS 模块的 client
import com.tencentcloudapi.sms.v20190711.SmsClient;// 导入要请求接口对应的 request response 类
import com.tencentcloudapi.sms.v20190711.models.SendSmsRequest;
import com.tencentcloudapi.sms.v20190711.models.SendSmsResponse;/*** Tencent Cloud Sms Sendsms* https://cloud.tencent.com/document/product/382/38778** @ClassName SendSms* @Description 发送短信* @Author oyc* @Date 2020/11/22 22:06* @Version*/
public class SendSms {public static void main(String[] args) {try {/* 必要步骤:* 实例化一个认证对象,入参需要传入腾讯云账户密钥对 secretId 和 secretKey* 本示例采用从环境变量读取的方式,需要预先在环境变量中设置这两个值* CAM 密钥查询:https://console.cloud.tencent.com/cam/capi*/Credential cred = new Credential("secretId", "secretKey");// 实例化一个 http 选项,可选,无特殊需求时可以跳过HttpProfile httpProfile = new HttpProfile();// 设置代理
// httpProfile.setProxyHost("host");
// httpProfile.setProxyPort(port);/* SDK 默认使用 POST 方法。* 如需使用 GET 方法,可以在此处设置,但 GET 方法无法处理较大的请求 */httpProfile.setReqMethod("POST");/* SDK 有默认的超时时间,非必要请不要进行调整* 如有需要请在代码中查阅以获取最新的默认值 */httpProfile.setConnTimeout(60);/* SDK 会自动指定域名,通常无需指定域名,但访问金融区的服务时必须手动指定域名* 例如 SMS 的上海金融区域名为 sms.ap-shanghai-fsi.tencentcloudapi.com */httpProfile.setEndpoint("sms.tencentcloudapi.com");/* 非必要步骤:* 实例化一个客户端配置对象,可以指定超时时间等配置 */ClientProfile clientProfile = new ClientProfile();/* SDK 默认用 TC3-HMAC-SHA256 进行签名* 非必要请不要修改该字段 */clientProfile.setSignMethod("HmacSHA256");clientProfile.setHttpProfile(httpProfile);/* 实例化 SMS 的 client 对象* 第二个参数是地域信息,可以直接填写字符串 ap-guangzhou,或者引用预设的常量 */SmsClient client = new SmsClient(cred, "ap-guangzhou", clientProfile);/* 实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数* 您可以直接查询 SDK 源码确定接口有哪些属性可以设置* 属性可能是基本类型,也可能引用了另一个数据结构* 推荐使用 IDE 进行开发,可以方便地跳转查阅各个接口和数据结构的文档说明 */SendSmsRequest req = new SendSmsRequest();/* 填充请求参数,这里 request 对象的成员变量即对应接口的入参* 您可以通过官网接口文档或跳转到 request 对象的定义处查看请求参数的定义* 基本类型的设置:* 帮助链接:* 短信控制台:https://console.cloud.tencent.com/smsv2* sms helper:https://cloud.tencent.com/document/product/382/3773 *//* 短信应用 ID: 在 [短信控制台] 添加应用后生成的实际 SDKAppID,例如1400006666 */String appid = "1400451260";req.setSmsSdkAppid(appid);/* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,可登录 [短信控制台] 查看签名信息 */String sign = "yangcheng公众号";req.setSign(sign);/* 国际/港澳台短信 senderid: 国内短信填空,默认未开通,如需开通请联系 [sms helper] *//*String senderid = "327459327459";req.setSenderId(senderid);*//* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回 *//*String session = "xxx";req.setSessionContext(session);*//* 短信码号扩展号: 默认未开通,如需开通请联系 [sms helper] *//*String extendcode = "xxx";req.setExtendCode(extendcode);*//* 模板 ID: 必须填写已审核通过的模板 ID,可登录 [短信控制台] 查看模板 ID */String templateID = "782968";req.setTemplateID(templateID);/* 下发手机号码,采用 e.164 标准,+[国家或地区码][手机号]* 例如+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号*/String[] phoneNumbers = {"+8613711112222"};req.setPhoneNumberSet(phoneNumbers);/* 模板参数: 若无模板参数,则设置为空*/String[] templateParams = {"123456","5"};req.setTemplateParamSet(templateParams);/* 通过 client 对象调用 SendSms 方法发起请求。注意请求方法名与请求对象是对应的* 返回的 res 是一个 SendSmsResponse 类的实例,与请求对象对应 */SendSmsResponse res = client.SendSms(req);// 输出 JSON 格式的字符串回包System.out.println(SendSmsResponse.toJsonString(res));// 可以取出单个值,您可以通过官网接口文档或跳转到 response 对象的定义处查看返回字段的定义System.out.println(res.getRequestId());} catch (TencentCloudSDKException e) {e.printStackTrace();}}
}
三、实现短信发送
源代码传送门:https://github.com/oycyqr/springboot-learning-demo/tree/master/springboot-sms
springboot+sms 集成腾讯云短信平台相关推荐
- SpringBoot工程接入腾讯云短信服务平台
由于业务需要,需要使用第三方短信平台,进行验证码的发送.网上的短信服务平台主要由:百度.腾讯.阿里云:采用官方提供的SDK,调用接口即可. 腾讯云短信服务平台和阿里云短信服务平台,一般步骤为:注册-- ...
- 使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题
使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题 参考文章: (1)使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题 (2)https://www.cnblog ...
- SpringBoot集成腾讯云短信实现注册/登录功能
前言 笔记参考 Duktig丶 JavaSDK地址:短信 Java SDK - SDK 文档 - 文档中心 - 腾讯云 1.导入依赖 <dependency><groupId> ...
- 快速集成腾讯云短信实现短信发送(Spring Boot)
前言 腾讯云活动白嫖 1.地址 地址:https://cloud.tencent.com/act/free?from=14600 2.创建签名(根据实际情况选择) 我的是网站 3.创建模板 选择模板内 ...
- 轻松集成腾讯云短信服务实现短信发送(Java实现)
不论是阿里云还是腾讯云,要想在网站上实现短信发送功能,首先得保证你的网站域名是通过备案的,因为短信签名是需要用到备案过的域名截图,所以域名通过了,申请很快就会审批成功了. (至于备案的话,需要你先购买 ...
- Springboot+Redis接入腾讯云短信服务实现验证码发送
目录 一.开通腾讯云短信服务 二.代码实现 三.测试 申请阿里云短信服务需要以上线APP或已备案网站,腾讯云短信服务可以使用微信公众号申请,注册个人微信公众号比较方便,改用腾讯云短信服务,参考官方SD ...
- 【SpringBoot深入浅出系列】SpringBoot之调用腾讯云短信接口发送短信
目录 一.开发前准备 1.创建签名 2.创建正文模板管理 3.创建应用 4.创建secretId和secretKey 二.开发 1.创建 Spring Initializr 项目 tengxunsms ...
- Prometheus和Grafana告警服务创建与对接腾讯云短信告警平台(prometheus_alert)
前言 在一个监控系统中,如果说数据链路是她的骨架,那么告警通知服务就是他的灵魂!所有的监控服务都是为了能够及时通知出来,减少人工查询状态,及时发现问题,避免不必要的大规模故障,为企业政府省钱,和保证安 ...
- SpringBoot腾讯云短信实现验证码
SpringBoot腾讯云短信实现验证码 在学习过程中偶然遇见需要实现验证码功能的需求,于是寻思着将功能抽取出来用于分享学习 业务功能:实现验证码60s,且要求防止用户高频刷验证码(即1min一次不多 ...
最新文章
- 用IE重起计算机或者关机
- 2021- 10 -13 AVL树的平衡调整(有parent指针) 代码逻辑
- NOIP2018提高组比赛总结
- HTTP 协议知识点总结(一)
- windwos cakephp mysql apache_配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
- 作者:熊贇(1980-),女,博士,复旦大学计算机科学技术学院教授。
- Spring+Quartz实现定时任务的配置步骤
- Vue自定义组件数组型双向绑定
- 放球问题 组合数学 转自百度百科
- 一文了解十大 Java 开发者必备测试框架!
- 《深入浅出通信原理》连载
- 网贷黑名单查询,通过身份证号,或者手机号查询自己的网贷情况。
- PS 滤镜——扩散特效, 毛玻璃 效果
- Linux arm 下载程序,在Linux下使用kermit和dnw给ARM板下载程序
- vue直传图片到阿里云OSS(单张直接上传)
- 电脑的锁屏密码忘记了怎么办?
- 从诺贝尔奖到“吃鸡守护者”:通往极点的手机散热战争
- 彻底解决Android系统A-GPS搜不到卫星的问题!亲测!
- SpringCloud Admin监控界面解释
- 10 行代码,集算器实现写诗机器人
热门文章
- 语音合成论文优选:唇语Speaker disentanglement in video-to-speech conversion
- iOS通知和KVO的区别和用法
- 怎样修改图片kb大小?如何压缩图片jpg格式?
- 分布式系统 相关概念
- 办公室内网监控软件 泄密案件逐年上升
- python可以实现什么黑科技_实用黑科技!利用python给手机发短信
- 系统稳定性判定(频域)
- linux下安装python3报错_linux安装python3
- VIP邮箱容量在哪儿看?怎么查看邮箱多大容量?
- Neural Filters for mac(ps2021逆天滤镜库)无需登陆Adobe Id