
Java + 腾讯云发送短信(验证码)
到这里Java + 腾讯云发送短信就已经完成了,后期会结合web项目一起使用,实现注册手机短信验证注册功能。如果申请通过的话,会有显示已生效的这里的 ID 和 签名内容我们后面都要用到。根据自己的需求去创建,可以是小程序、网站、微信公众号,按要求填写下面的信息等申请通过即可。在官网找到这个页面申请既可以了,不用钱的哈,免费的,使用期限是3个月100次。代码中空的设置值,已经在上标题中带大家找过了,
一、生成签名(提前注册号腾讯元的账号)
登录地址:总览 - 控制台 - 腾讯云 (tencent.com)
1、短信页面
2、创建签名
根据自己的需求去创建,可以是小程序、网站、微信公众号,按要求填写下面的信息等申请通过即可
二、领取短信次数
腾讯云是可以免费领取 100 次的发送次数的
在官网找到这个页面申请既可以了,不用钱的哈,免费的,使用期限是3个月100次。
领取成功,我之前测试用了4条了
三、查看
1、查看签名
如果申请通过的话,会有显示已生效的这里的 ID 和 签名内容我们后面都要用到
2、查看模板
首先申请一个短信模板,我这里已验证码的格式为主。剩下的内容就按照要求去填写,同样也是需要通过审批才可以使用。
查看模板
审批通过会显示已通过,模板中的 ID 和 内容是我们需要操作的
3、查看应用信息
SDK App ID 和 App Key 也是需要使用到的
4、查看密钥
在访问管理中,有密钥管理,后面也要用到
四、代码实现
1、pom.xml 导入依赖
<!-- 发送短信的依赖 === 腾讯云 -->
<!-- https://mvnrepository.com/artifact/com.tencentcloudapi/tencentcloud-sdk-java -->
<dependency>
<groupId>com.tencentcloudapi</groupId>
<artifactId>tencentcloud-sdk-java</artifactId>
<version>4.0.11</version>
</dependency>
2、代码
1、生成四位随机数的工具类 --- 随机生成四位验证码
public static String keyUtils() {
// 定义一个包含数字 0 到 9 的字符串
String str = "0123456789";
// 创建一个空的 StringBuilder 对象,用于存储生成的随机数 -- 4位
StringBuilder st = new StringBuilder(4);
// 使用 for 循环4次
for (int i = 0; i < 4; i++) {
// 在 str 字符串中随机选择一个字符,并添加到 stringBuilder 对象中
char ch = str.charAt(new Random().nextInt(str.length()));
st.append(ch);
}
// 将 stringBuilder 对象转化为字符串,并转化为小写字母
String findkey = st.toString().toLowerCase();
// 返回生成的随机数
return findkey;
}
2、发送短信的代码
代码中空的设置值,已经在上标题中带大家找过了,复制进去就可以使用了
try {
// 创建 COSCredentials 对象,传入 SecretId 和 SecretKey --- 密钥
Credential cred = new Credential("SecretId ", "SecretKey ");
HttpProfile httpProfile = new HttpProfile();
// 设置腾讯云服务 API 的访问域名
httpProfile.setEndpoint("sms.tencentcloudapi.com");
ClientProfile clientProfile = new ClientProfile();
// 设置 HTTP 的请求配置信息
clientProfile.setHttpProfile(httpProfile);
// 指定 SMS 所在的区域
SmsClient client = new SmsClient(cred, "ap-guangzhou", clientProfile);
SendSmsRequest req = new SendSmsRequest();
// 接收短信的手机号码,可以设置多个
String[] phoneNumberSet1 = {"+8615300001866"};
req.setPhoneNumberSet(phoneNumberSet1);
// 设置正文模板 ID
req.setTemplateID("");
// 设置短信应用 ID
req.setSmsSdkAppid("");
// 设置签名内容
req.setSign("");
// 调用生成验证码的工具类
FourKeyUtil fourKeyUtil = new FourKeyUtil();
String s = fourKeyUtil.keyUtils();
// 短信模板中的参数,需与短信模板中的参数个数一致
String[] templateParams = {s};
req.setTemplateParamSet(templateParams);
// 发送短信
SendSmsResponse resp = client.SendSms(req);
System.out.println(SendSmsResponse.toJsonString(resp));
} catch (TencentCloudSDKException e) {
System.out.println(e.toString());
}
3、运行
运行只要看到 ok 和 success 就表示成功了
效果图
到这里Java + 腾讯云发送短信就已经完成了,后期会结合web项目一起使用,实现注册手机短信验证注册功能。
更多推荐
所有评论(0)