目录

  • 一、开发前准备
    • 1.创建签名
    • 2.创建正文模板管理
    • 3.创建应用
    • 4.创建secretId和secretKey
  • 二、开发
    • 1.创建 Spring Initializr 项目 tengxunsms
    • 2.pom.xml 文件中引入依赖
    • 3.编码

一、开发前准备

1.创建签名

2.创建正文模板管理

3.创建应用

创建应用后会生成SDKappID。

4.创建secretId和secretKey

创建链接:https://console.cloud.tencent.com/cam/capi

二、开发

1.创建 Spring Initializr 项目 tengxunsms

创建方法见:https://blog.csdn.net/u012069313/article/details/122319305

2.pom.xml 文件中引入依赖

<dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java</artifactId><version>3.1.430</version>
</dependency>

可以使用腾讯镜像源加速下载,编辑 maven 的 settings.xml 配置文件,在 mirrors 段落增加镜像配置:

<mirror><id>tencent</id><name>tencent maven mirror</name><url>https://mirrors.tencent.com/nexus/repository/maven-public/</url><mirrorOf>*</mirrorOf>
</mirror>

3.编码

发送短信代码如下:

package com.chaoyue.tengxunsms;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.v20210111.SmsClient;// 导入要请求接口对应的request response类
import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;/*** Tencent Cloud Sms Sendsms**/
public class SendSms {public static void main(String[] args){try {/* 必要步骤:* 实例化一个认证对象,入参需要传入腾讯云账户密钥对secretId,secretKey。* 这里采用的是从环境变量读取的方式,需要在环境变量中先设置这两个值。* 你也可以直接在代码中写死密钥对,但是小心不要将代码复制、上传或者分享给他人,* 以免泄露密钥对危及你的财产安全。* CAM密匙查询: https://console.cloud.tencent.com/cam/capi*/Credential cred = new Credential("****************", "*********");// 实例化一个http选项,可选,没有特殊需求可以跳过HttpProfile httpProfile = new HttpProfile();// 设置代理// httpProfile.setProxyHost("真实代理ip");// httpProfile.setProxyPort(真实代理端口);/* 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在 [短信控制台] 添加应用后生成的实际SdkAppId,示例如1400006666 */String sdkAppId = "140*******";req.setSmsSdkAppId(sdkAppId);/* 短信签名内容: 使用 UTF-8 编码,必须填写已审核通过的签名,签名信息可登录 [短信控制台] 查看 */String signName = "****";req.setSignName(signName);/* 国际/港澳台短信 SenderId: 国内短信填空,默认未开通,如需开通请联系 [sms helper] */String senderid = "";req.setSenderId(senderid);/* 用户的 session 内容: 可以携带用户侧 ID 等上下文信息,server 会原样返回 */String sessionContext = "xxx";req.setSessionContext(sessionContext);/* 短信号码扩展号: 默认未开通,如需开通请联系 [sms helper] */String extendCode = "";req.setExtendCode(extendCode);/* 模板 ID: 必须填写已审核通过的模板 ID。模板ID可登录 [短信控制台] 查看 */String templateId = "******";req.setTemplateId(templateId);/* 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]* 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号 */String[] phoneNumberSet = {"+86135********", "+86180********"};req.setPhoneNumberSet(phoneNumberSet);/* 随机生成6位验证码 */Random random = new Random();int num = random.nextInt(999999);//不足六位前面补0String code = String.format("%06d", num);           /* 模板参数: 若无模板参数,则设置为空 */String[] templateParamSet = {code, "60"};req.setTemplateParamSet(templateParamSet);/* 通过 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();}}
}

【SpringBoot深入浅出系列】SpringBoot之调用腾讯云短信接口发送短信相关推荐

  1. java实现调用短信接口发送短信

    如何调用java接口,进行短信的发送呢?现在几乎每一个平台都需要进行验证码短信或者通知类短信的发送,下面提供java接口的DEMO供大家下载: Java短信接口JDK点击下载 或者直接进入官网测试页面 ...

  2. 【python】腾讯云+python SDK免费发送短信

    最近好奇了一下1069开头的短信都是怎么发的呢?验证码或者营销短信,试用了两款免费发送短信的产品,一款是国外的TWILIO,使用教程挺多的,不知道是不是我使用方式不对,频率高的短信发不出来,好像会预充 ...

  3. Delphi调用腾讯云最新签名方法v3 TC3-HMAC-SHA256发送短信

    参考了高文杰先生的代码,结合自己的学习增添了最新TC3-HMAC-SHA256 v3版本的接口. 腾讯云的TC3 v3鉴权比较复杂,当然这是相对于Delphi下而言,其实在Python下直接使用SDK ...

  4. 【SpringBoot深入浅出系列】SpringBoot之实现支付宝扫码支付(沙箱环境编码实现)

    目录 一.准备工作 1.应用 APPID 2.商户私钥,即应用私钥 3.支付宝公钥 4.签名方式 5.字符编码格式 6.支付宝网关 二.沙箱环境编码实现 1.项目说明 2.创建 Spring Init ...

  5. SpringBoot项目H5界面手机拍照调用腾讯云OCR卡证识别接口完整例子

    最近一个微信端项目的功能涉及一个手机拍照上传身份证识别身份证信息回显的功能,调用的接口是腾讯云OCR的卡证识别功能.看了腾讯云的api通俗易懂,本地写好了demo测试可用.H5界面手机拍照调用后台方法 ...

  6. 如何用Baas快速在腾讯云上开发小程序-系列3 :实现腾讯云COS API调用

    版权声明:本文由贺嘉  原创文章,转载请注明出处:  文章原文链接:https://www.qcloud.com/community/article/640268001487425627 来源:腾云阁 ...

  7. 大聪明教你学Java | 调用腾讯云短信接口,实现短信通知

    前言 提到短信接口,相信每一位程序猿都不会陌生,它可以来帮助我们实现短信验证码.短信通知等等功能,刚好最近在帮朋友开发一套会员管理系统,里面也集成了短信功能(短信接口平台选择的是腾讯云平台),借此机会 ...

  8. 普歌-腾讯云短信+使用node发送短信(3种方法API、SDK)、封装工具、搭建web服务、写接口、调用接口发送短信、时效性判断、验证验证码的正确性(下)

    普歌-结合腾讯云短信服务+node搭建一个简单的发送短信web小项目 涉及技术: 腾讯云服务 后端服务:node+express 前端搭建:html+js 前言:本来这篇博客应该很早就发了,中间有一些 ...

  9. C# 使用GET和POST(v1签名方式)以及SDK的方式调用腾讯云人像动漫化接口,包含设置代理

    声明:此内容仅供学习交流使用,不用于商业用途,如果涉及侵权,联系作者删除. 最近在调用腾讯云的人像动漫化接口,感觉挺好玩的,自己去看文档写了一下,遇到了各种问题,最后都解决了 ,遇到最多的就是签名错误 ...

最新文章

  1. 王飞跃谈GE艰难的数字化转型启示:从工业智联网到工业5.0
  2. weblogic管理2 - 创建并启动一个managed server
  3. 算法分析-分治 归并排序,递归插入排序,二分查找
  4. 论文总结:Fast and Light Bandwidth Testing for Internet Users(21‘ NSDI)
  5. java xssf的背景色,poi xssf背景颜色对照表 java生成excel文件
  6. 吃糖果hdu2502
  7. python-gevent模块实现socket大并发
  8. 01-mnist数字识别
  9. 服务器终端性能测试之iometer
  10. python计算圆锥体积和表面积_圆柱与圆锥体积与表面积计算
  11. ArcGIS Pro地理配准
  12. 《炬丰科技-半导体工艺》SC-1颗粒去除和piranha后漂洗的机理研究
  13. bin文件怎么打开 linux,BIN 文件扩展名: 它是什么以及如何打开它?
  14. Win10使用Geth搭建本地开发私有链(2021版)
  15. c语言计时纳秒_C代码中以纳秒为单位计算函数时间
  16. 2021年美赛MCM赛题C题翻译
  17. 优化electron客户端卡顿的几种方案
  18. 作为一个准研究生,怎样才能在研究生阶段不虚度?
  19. python直接生成exe的方法(使用py2exe)
  20. 小蓝单车的“死法”:从梦幻开场到资金断链

热门文章

  1. C++:实现量化有限差分SABR测试实例
  2. 外盘国际期货招商:2023年3月关注日历,把握重要投资机会
  3. FME中的栅格数据操作之十三——生成应用于网络制图平台的瓦片(二)
  4. 图片数据转换为csv文件(附python代码)
  5. Python爬虫:Scrapy的Crawler对象及扩展Extensions和信号Signals
  6. Helmet-wearing Datasets
  7. 2022年P气瓶充装考试报名及P气瓶充装考试资料
  8. emqx客户端用户名密码登录验证配置
  9. java 读取文件 效率_Java 逐行读取文本文件的几种方式以及效率对比
  10. Xilinx Inc.(XLNX)2021年第二季度收益电话抄本