使用java和腾讯云短信实现短信验证码发送
1.申请使用短信功能,申请需要认证,这里建议使用公众号验证,验证成功会免费赠送100条短信
短信申请:https://console.cloud.tencent.com/smsv2
公众号申请(申请个人的):https://mp.weixin.qq.com/cgi-bin/home
2.申请完成并完成审核过后,配置环境
<dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java</artifactId><version>3.1.270</version><!-- 注:这里只是示例版本号(可直接使用),可获取并替换为 最新的版本号,注意不要使用4.0.x版本(非最新版本) -->
</dependency>
3.使用官方提供的工具类进行短信发送
只需修改如下参数:
1.腾讯云账户密钥对secretId,secretKey,
密匙查询: https://console.cloud.tencent.com/cam/capi*/
2.短信应用ID: 短信SdkAppId在 [短信控制台] 添加应用后生成的实际SdkAppId
3.短信签名内容: 必须填写已审核通过的签名signName = “签名内容”;
4.模板 ID,templateId
5.设置手机号,不超过200个String[] phoneNumberSet = {"+8613548307304"};
6.模板参数: 若无模板参数,则设置为空 ,就是发送的内容,用的模板有几个就写相应的值比如验证码1111,5分钟后过期
String[] templateParamSet = {"1111","5"};
官方SDK网址:https://cloud.tencent.com/document/product/382/43194#.E5.8F.91.E9.80.81.E7.9F.AD.E4.BF.A1
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("secretId", "secretKey");// 实例化一个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 = "1400009099";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 = "400000";req.setTemplateId(templateId);/* 下发手机号码,采用 E.164 标准,+[国家或地区码][手机号]* 示例如:+8613711112222, 其中前面有一个+号 ,86为国家码,13711112222为手机号,最多不要超过200个手机号 */String[] phoneNumberSet = {"+8621212313123", "+8612345678902", "+8612345678903"};req.setPhoneNumberSet(phoneNumberSet);/* 模板参数: 若无模板参数,则设置为空 */String[] templateParamSet = {"5678"};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();}}
}
使用java和腾讯云短信实现短信验证码发送相关推荐
- Java对接腾讯云短信和阿里云天气预报
API接口提供商 短信 这里推荐阿里云,比起其他的杂牌方便很多 因为现在审核环境的问题,个人开发者比较难申请到签名和模板 我们需要创建一个微信公众号来作为应用场景 在微信官方的公众号平台上面创建 公众 ...
- Java实现腾讯云短信定时推送天气信息(通俗易懂)
准备: 首先在腾讯云申请自己的短信 腾讯云短信链接 然后再申请签名和正文模板 签名提供材料等待审批通过就可以 模板的模板内容是可以传参数的 例子:我是{1},来自{2},可以添加多个,后续可以通过参数 ...
- 腾讯云快速增长背后 三大短板仍需补足
2013年,腾讯云计算公司正式成立,腾讯云正式成为全面对外开放的一个云计算服务平台解决方案的提供商.严格来说,腾讯全面进入云计算的领域相比较阿里云等要晚了很多,这似乎也印证了腾讯一直以来的业务发展逻辑 ...
- 腾讯直播与 JAVA整合_JAVA对接腾讯云直播如何实现 JAVA对接腾讯云直播实现代码...
JAVA对接腾讯云直播如何实现?本篇文章小编给大家分享一下JAVA对接腾讯云直播实现代码,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看. 签名授权 public static ...
- java集成腾讯云COS
@RequestMapping(value = "/test", method = RequestMethod.POST)@ResponseBodypublic String te ...
- Java集成腾讯云音视频录制功能
Java集成腾讯云音视频录制功能 为什么要实现音视频录制功能 因为我们做的是一个医院的项目,医生和患者可能进行视频通话和语音通话,为了保证通话的质量以及后续的问题, 我们就需要进行音视频录制,以便后续 ...
- 大聪明教你学Java | 调用腾讯云短信接口,实现短信通知
前言 提到短信接口,相信每一位程序猿都不会陌生,它可以来帮助我们实现短信验证码.短信通知等等功能,刚好最近在帮朋友开发一套会员管理系统,里面也集成了短信功能(短信接口平台选择的是腾讯云平台),借此机会 ...
- Java结合腾讯云实现短信验证码的发送
今天说说短信验证码 保姆级教程 由于现在阿里云个人账户是不允许个人账户申请签名和模板的,所有下面我们用腾讯云来实现发送验证的功能.首次注册白嫖200条国内短信 第一步: 申请签名:进入腾讯云官网,注册 ...
- Java整合腾讯云短信发送
1. 引入相关maven依赖 <dependency><groupId>com.github.qcloudsms</groupId><artifactId&g ...
- 详解-java调用腾讯云的短信接口(从申请到测试完成)
首先我们去注册或登录腾讯云 可以白嫖200条短信(反正也是自己玩玩,足够了) 在产品那里找到短信 进入之后,看应用列表里面有没有创建过(如果没有就创建)这里有一个SDKAppID会要用到 创建之后呢, ...
最新文章
- 更改git bash默认的路径
- 看看人家 SpringBoot 的全局异常处理,多么优雅...
- jsonp 200 进去error_同样是专科,400分考上的和200分就能进的,差距其实挺明显
- 使用快速傅里叶变换计算大整数乘法-代码
- [Android工具]更新安卓百度云盘百度网盘资源搜索工具,安卓网盘搜索软件
- 梯度下降(Gradient Descent),一句代码,一个式子
- #{}与${}的区别
- 众志成城 共克时艰 TigerGraph免费开放企业级版本授权全力支持疫情防控
- 计算机视觉,凉了?!
- 在 Go 语言中增强 Cookie 的安全性
- 一般判五年几年能出来_A股十年不涨的“元凶”被揪了出来,指数不该被冤枉...
- UVA 10602 - Editor Nottoobad
- 基于Java实现的免疫算法-克隆选择算法
- 有关单片机c语言的参考文献,单片机设计参考文献
- 2019蓝桥杯国赛c++B组
- 常见信息安全威胁与经典案例
- 《气候宣言》宣布100多家签约组织,承诺至2040年或更早实现净零碳排放
- 数商云:大宗商品供应链电子交易系统支撑业务运营模块落地浅谈
- 《Storm实时数据处理》一2.3 创建日志Spout
- 2021Eclipse 的安装使用说明
热门文章
- Navigation Drawer Activity
- 谷歌官方博客发表的 手机的未来趋势
- 设计模式のService Locator Pattern
- HarmonyOS 3.0升级后发现打游戏掉帧
- delphi txt文件读写
- python中range的三种用法
- GooSeeker初使用之爬取数据
- 【学习笔记】计算机常识
- 小车手app安卓版下载_汽车助手安卓版app下载_汽车助手安卓版v1.0.0 手机版v1.0.0 手机版 - Win7旗舰版...
- 通过linux课程我学到了什么作文,我学到了什么的作文