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 集成腾讯云短信平台相关推荐

  1. SpringBoot工程接入腾讯云短信服务平台

    由于业务需要,需要使用第三方短信平台,进行验证码的发送.网上的短信服务平台主要由:百度.腾讯.阿里云:采用官方提供的SDK,调用接口即可. 腾讯云短信服务平台和阿里云短信服务平台,一般步骤为:注册-- ...

  2. 使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题

    使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题 参考文章: (1)使用springboot集成腾讯云短信服务,解决配置文件读取乱码问题 (2)https://www.cnblog ...

  3. SpringBoot集成腾讯云短信实现注册/登录功能

    前言 笔记参考 Duktig丶 JavaSDK地址:短信 Java SDK - SDK 文档 - 文档中心 - 腾讯云 1.导入依赖 <dependency><groupId> ...

  4. 快速集成腾讯云短信实现短信发送(Spring Boot)

    前言 腾讯云活动白嫖 1.地址 地址:https://cloud.tencent.com/act/free?from=14600 2.创建签名(根据实际情况选择) 我的是网站 3.创建模板 选择模板内 ...

  5. 轻松集成腾讯云短信服务实现短信发送(Java实现)

    不论是阿里云还是腾讯云,要想在网站上实现短信发送功能,首先得保证你的网站域名是通过备案的,因为短信签名是需要用到备案过的域名截图,所以域名通过了,申请很快就会审批成功了. (至于备案的话,需要你先购买 ...

  6. Springboot+Redis接入腾讯云短信服务实现验证码发送

    目录 一.开通腾讯云短信服务 二.代码实现 三.测试 申请阿里云短信服务需要以上线APP或已备案网站,腾讯云短信服务可以使用微信公众号申请,注册个人微信公众号比较方便,改用腾讯云短信服务,参考官方SD ...

  7. 【SpringBoot深入浅出系列】SpringBoot之调用腾讯云短信接口发送短信

    目录 一.开发前准备 1.创建签名 2.创建正文模板管理 3.创建应用 4.创建secretId和secretKey 二.开发 1.创建 Spring Initializr 项目 tengxunsms ...

  8. Prometheus和Grafana告警服务创建与对接腾讯云短信告警平台(prometheus_alert)

    前言 在一个监控系统中,如果说数据链路是她的骨架,那么告警通知服务就是他的灵魂!所有的监控服务都是为了能够及时通知出来,减少人工查询状态,及时发现问题,避免不必要的大规模故障,为企业政府省钱,和保证安 ...

  9. SpringBoot腾讯云短信实现验证码

    SpringBoot腾讯云短信实现验证码 在学习过程中偶然遇见需要实现验证码功能的需求,于是寻思着将功能抽取出来用于分享学习 业务功能:实现验证码60s,且要求防止用户高频刷验证码(即1min一次不多 ...

最新文章

  1. 用IE重起计算机或者关机
  2. 2021- 10 -13 AVL树的平衡调整(有parent指针) 代码逻辑
  3. NOIP2018提高组比赛总结
  4. HTTP 协议知识点总结(一)
  5. windwos cakephp mysql apache_配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
  6. 作者:熊贇(1980-),女,博士,复旦大学计算机科学技术学院教授。
  7. Spring+Quartz实现定时任务的配置步骤
  8. Vue自定义组件数组型双向绑定
  9. 放球问题 组合数学 转自百度百科
  10. 一文了解十大 Java 开发者必备测试框架!
  11. 《深入浅出通信原理》连载
  12. 网贷黑名单查询,通过身份证号,或者手机号查询自己的网贷情况。
  13. PS 滤镜——扩散特效, 毛玻璃 效果
  14. Linux arm 下载程序,在Linux下使用kermit和dnw给ARM板下载程序
  15. vue直传图片到阿里云OSS(单张直接上传)
  16. 电脑的锁屏密码忘记了怎么办?
  17. 从诺贝尔奖到“吃鸡守护者”:通往极点的手机散热战争
  18. 彻底解决Android系统A-GPS搜不到卫星的问题!亲测!
  19. SpringCloud Admin监控界面解释
  20. 10 行代码,集算器实现写诗机器人

热门文章

  1. 语音合成论文优选:唇语Speaker disentanglement in video-to-speech conversion
  2. iOS通知和KVO的区别和用法
  3. 怎样修改图片kb大小?如何压缩图片jpg格式?
  4. 分布式系统 相关概念
  5. 办公室内网监控软件 泄密案件逐年上升
  6. python可以实现什么黑科技_实用黑科技!利用python给手机发短信
  7. 系统稳定性判定(频域)
  8. linux下安装python3报错_linux安装python3
  9. VIP邮箱容量在哪儿看?怎么查看邮箱多大容量?
  10. Neural Filters for mac(ps2021逆天滤镜库)无需登陆Adobe Id