您的位置首页  散文评论

短信发送(短信发送null到null怎么发)这都可以?

本篇为从 0 到 1 的一个,用 Java 对接腾讯短信发送功能的一篇流程文章。而标题中的 44 大洋则是用来购买短信套餐,当然如果你是首次使用

短信发送(短信发送null到null怎么发)这都可以?

 

本篇为从 0 到 1 的一个,用 Java 对接腾讯短信发送功能的一篇流程文章而标题中的 44 大洋则是用来购买短信套餐,当然如果你是首次使用腾讯云平台则可以享受【免费使用】这一功能(我是老用户)那,废话不多说,我们往下看对接步骤。

1、短信套餐我们先来购买以下短信套餐,这里选择腾讯云,地址:cloud.tencent.com/act/cps/red…当然,套餐我们有两种选择方式:免费试用购买1)先来看看,免费试用点击云通信中的短信服务

2)再来看,购买套餐地址:cloud.tencent.com/act/pro/618…3)如果购买了或者有试用套餐,这里会显示你的套餐信息

我这里是用了 44 块钱购买了一个套餐,但是它附赠了 100 条短信,所以我一共有 1100 条短信发送的资格2、短信配置短信配置主要分三部分:签名模板应用进入短信控制台,先完成如下部分的内容填写:

注意:这里选择的类型是个人网站,所以必须要有已备案的域名信息填写信息这里就不截图了,如果你有已经备案的域名,那么就按照人家给的步骤一次填写就行至于短信模板就是你要发给用户的一段中文内容,当然里面也可以预留占位符,灵活改变内容。

如果信息填写成功,并审核通过之后会回显如下内容:

接着就要开始创建应用了:

3、创建你的云 API 密钥地址:console.cloud.tencent.com/cam/capi

ok,此刻我们的所有准备工作都已经做完了,那此时我们应有如下的资源:短信套餐(就是你能发送多少条短信的资格)短信签名短信模板应用云 API4、Java 编码实现短信发送现在是万事俱备了,就差写代码实现了。

而因为腾讯对于 API 鉴权这块非常复杂所以腾讯建议我们使用他们提供的 SDK 进行开发,所以本次代码的编写也其 SDK 上做了一些微调而已1)引入依赖:xml复制代码<

dependency>com.tencentcloudapitencentcloud-sdk-java

>3.1.2702)编写短信发送 utiljava复制代码// 注意引入 lombok@Slf4jpublicclass SendSmsUtil {

publicstaticBoolean sendSms(SendSmsRequest request) { Credential cred = new Credential(request.getSecretId(), request.getSecretKey()); SmsClient client =

new SmsClient(cred, "ap-guangzhou"); final var req = new com.tencentcloudapi.sms.v20210111.models.SendSmsRequest(); req.setPhoneNumberSet(

newString[]{"+86" + request.getPhone()}); req.setSmsSdkAppId(request.getSmsSdkAppId()); req.setSignName(request.getSignName()); req.setTemplateId(request.getTemplateId()); req.setTemplateParamSet(request.getTemplateParamSet()); SendSmsResponse res =

null; try { res = client.SendSms(req); } catch (TencentCloudSDKException e) { log.error(

"发送短信出错:", e); returnBoolean.FALSE; } log.error("发送短信结果:", SendSmsResponse.toJsonString(res));

if (Objects.nonNull(res.getSendStatusSet()) && res.getSendStatusSet().length > 0 && "Ok".equals(res.getSendStatusSet()[

0].getCode())){ returnBoolean.TRUE; } returnBoolean.FALSE; }

/** * 参数对象 */@Datapublicstaticclass SendSmsRequest { /** * 电话 */private

String phone; /** * 短信签名内容,必须填写已审核通过的签名 */privateString signName;

/** * 模板 ID: 必须填写已审核通过的模板 ID */privateString templateId; /** * 模板参数: 模板参数的个数需要与 TemplateId 对应模板的变量个数保持一致,若无模板参数,则设置为空 */

privateString[] templateParamSet; /** * 应用id */privateString smsSdkAppId;

/** * 云api密钥中的 secretId */privateString secretId; /** * 云api密钥中的 secretKey */

privateString secretKey; } } 3)测试java复制代码publicclassSendSmsUtil {publicstaticvoidmain(String[] args)

{ SendSmsRequest request = new SendSmsRequest(); request.setPhone("电话"); request.setSmsSdkAppId(

"应用id"); request.setSecretId("API的SecretId"); request.setSecretKey("API的SecretKey"); request.setSignName(

"签名内容"); request.setTemplateId("模板id"); // 这个值,要看你的模板中是否预留了占位符,如果没有则不需要设置 request.setTemplateParamSet(

new String[]{"模板中的参数值,如果没有则为空"}); SendSmsUtil.sendSms(request); } } 此时,手机会收到一条短信:

到此呢,我们对接腾讯短信这一功能就算是实现了,但是这仅仅是开发的一部分,我们只是封装了一个小小的发送短信工具类而已还没有结合具体的业务来运用这个短信发送功能,后续我打算用该功能实现一个用户注册,并考虑性能、安全等因素对其进行优化。

免责声明:本站所有信息均搜集自互联网,并不代表本站观点,本站不对其真实合法性负责。如有信息侵犯了您的权益,请告知,本站将立刻处理。联系QQ:1640731186