腾讯云短信服务

一、如何成功申请到腾讯云短信服务

首先开通短信服务,应该会免费赠送100条短信

 1、签名申请

 微信公众号平台链接:https://www.baidu.com/link?url=3OqiiGcBpe8Gp5YpnN4wF7CiaFkigOjrPtN3xjuIWLF1EDlRASXa3EDgeaQNn8k6&wd=&eqid=d95710f900018b6500000003611bd16aicon-default.png?t=N7T8https://www.baidu.com/link?url=3OqiiGcBpe8Gp5YpnN4wF7CiaFkigOjrPtN3xjuIWLF1EDlRASXa3EDgeaQNn8k6&wd=&eqid=d95710f900018b6500000003611bd16a

2、正文模板申请

点击创建正文模板

 等待审核即可

二、发送短信API开发

1、腾讯云在线测试(先进行在线测试,后面再使用代码测试)

测试地址:登录 - 腾讯云icon-default.png?t=N7T8https://console.cloud.tencent.com/api/explorer?Product=sms&Version=2021-01-11&Action=SendSms&SignVersion= 

1、SmsSdkAppId:短信 SdkAppId,在 短信控制台 添加应用后生成的实际 SdkAppId

2、TemplateId:模板 ID,必须填写已审核通过的模板 ID。模板 ID 可登录 短信控制台 查看,若向境外手机号发送短信,仅支持使用国际/港澳台短信模板。

3、SignName:短信签名内容,使用 UTF-8 编码,必须填写已审核通过的签名,例如:腾讯云,签名信息可登录 短信控制台 查看。 国内短信为必填参数。

点击发送请求

可以在云端直接进行生成代码

也可以参考API文档

API文档链接地址:短信 Java SDK-SDK 文档-文档中心-腾讯云

后端主要代码

// Depends on tencentcloud-sdk-nodejs version 4.0.3 or higher
    const tencentcloud = require("tencentcloud-sdk-nodejs-sms");

    const SmsClient = tencentcloud.sms.v20210111.Client;

    // 实例化一个认证对象,入参需要传入腾讯云账户 SecretId 和 SecretKey,此处还需注意密钥对的保密
    // 代码泄露可能会导致 SecretId 和 SecretKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考,建议采用更安全的方式来使用密钥,请参见:https://cloud.tencent.com/document/product/1278/85305
    // 密钥可前往官网控制台 https://console.cloud.tencent.com/cam/capi 进行获取
    const clientConfig = {
        credential: {
            secretId: "登录账号的secreId",
            secretKey: "登录账号的secretKey",
        },
        region: "ap-beijing",
        profile: {
            httpProfile: {
                endpoint: "sms.tencentcloudapi.com",
            },
        },
    };

    // 实例化要请求产品的client对象,clientProfile是可选的
    const client = new SmsClient(clientConfig);
    const params = {
        "PhoneNumberSet": ["+86"+前端返回给后端的tel],
        "SmsSdkAppId": "1400859378",
        "SignName": "拙劣的模仿者公众号",
        "TemplateId": "1944720",
        "TemplateParamSet": [后端随机生成的验证码.toString()]
    };
    client.SendSms(params).then(
        (data) => {
            res.send({code:200,msg:"验证码发送成功",yzm:后端随机生成的验证码.toString(),data})
        },
        (err) => {
            console.error("error", err);
        }
    );

 随机生成六位随机数

// 随机生成的六位验证码
    let randomNum = Math.floor(Math.random() * 1000000); // 生成0~999999的随机整数 
    let result = String(randomNum).padStart(6, '0'); // 将结果转换成字符串,并在前面补0,直到达到六位

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值