使用腾讯云发送短信 ---- 手把手教你搞定所有步骤

最近在跟着一位大佬搞他的Austin项目,austin项目核心功能:发送消息。

这里作者使用了腾讯云发送短信,因为注册就送 100条免费短信的额度。发短信的功能就不用花钱了。

这里就记录了使用腾讯云的整个过程

第一步:注册腾讯云

注册一个腾讯云账户,腾讯云中提供了很多功能:云服务器、云存储你、云直播、云短信等很多功能。

注册地址:https://cloud.tencent.com/

根据提示一步步进行注册即可,例如:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里注册完成后再进行实名认证即可。有一些按照自己的的实际情况填写即可,不知道的可以随便填。

第二步:开通云短信

腾讯云注册成功之后,登录腾讯云并去开通云短信服务,开通短信服务后才能发短信。

开通地址:https://console.cloud.tencent.com/smsv2

开通完成之后就可以看到这个一个页面了

在这里插入图片描述
然后需要我们做的是选择 应用管理–> 应用列表,创建一个新的应用

在这里插入图片描述

创建完成后就可以看到我们后面需要使用的信息:

在这里插入图片描述

第三步:创建签名

在腾讯云短信签名时需要认证,认证需要填写签名类型:网站、APP、小程序、公众号,前三种比较难搞定我们个人使用的话都使用订阅号,也推荐大家使用这样的方式。

所以咱们先搞一个公众号,然后才能去申请签名。

申请微信订阅号注册地址:https://mp.weixin.qq.com/

在这里插入图片描述
在这里点击订阅号,一步步操作即可。

第四步:创建签名

根据自己的需求选择 国内短信/国际短信 中的签名管理,进行创建签名,当然我这里就直接选择国内了。

注意:签名类型选择公众号 ,并根据提示上传相关数据。

在这里插入图片描述

公众号名称最好注意一点,就像我这样的,上传了也没过,一脸懵逼,从头再来。

在这里插入图片描述

第五步:创建短信模板

根据自己需求创建短信模板,提供了很多标准模板供大家使用,可以自行选择;

在这里插入图片描述

一般需要生成随机验证码或者自定义内容时需要加上“{1}”用作占位符:

在这里插入图片描述

以上准备工作完成之后我们就要开始进入正文了,也就是我们的代码实现。

第六步:代码实现

在我们的maven工程中引入对应的依赖:

	<!--腾讯sdk(目前用在短信上)-->
	<dependency>
		<groupId>com.tencentcloudapi</groupId>
		<artifactId>tencentcloud-sdk-java</artifactId>
		<version>3.1.390</version>
	</dependency>

要知道腾讯是给我们提供代码的,我们可以在腾讯云上操作既可拿到对应的代码,这部分代码不需要我们自己去编写,每家使用的都不一样,我们只需要怎么操作即可。

在这里插入图片描述

在云产品中选择云API

我们可以测试调用一下,当然啦,结果是显而易见的完全没有问题。
在这里插入图片描述

然后我们把生成的代码拷出来即可。

package com.xiong.austin.script;

import cn.hutool.core.util.IdUtil;
import com.alibaba.fastjson.JSON;
import com.google.common.base.Throwables;
import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.sms.v20210111.SmsClient;
import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
import com.xiong.austin.pojo.SmsParam;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

/**
 * @author: Xiong
 * @date: 2022/8/2 15:29
 * @修改备注:
 * @修改记录: 修改时间    修改人员    修改原因
 */
@Service
@Slf4j
public class TencentSmsScript {
    /**
     * api相关
     */
    private static final String URL = "sms.tencentcloudapi.com";
    private static final String REGION = "ap-guangzhou";

    /**
     * 账号相关 TODO
     */
    private final static String SECRET_ID = "**************";
    private final static String SECRET_KEY = "****************";
    private static final String SMS_SDK_APP_ID = "140*****";
    private static final String TEMPLATE_ID = "149****";
    private static final String SIGN_NAME = "奥斯汀通知";

    public String send(SmsParam smsParam) {
        try {

            /**
             * 初始化 client
             */
            // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
            // 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
            Credential cred = new Credential(SECRET_ID, SECRET_KEY);
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint(URL);
            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            SmsClient client = new SmsClient(cred, REGION, clientProfile);

            /**
             * 组装发送短信参数
             */
            SendSmsRequest req = new SendSmsRequest();
            String[] phoneNumberSet1 = smsParam.getPhones().toArray(new String[smsParam.getPhones().size() - 1]);
            req.setPhoneNumberSet(phoneNumberSet1);
            req.setSmsSdkAppId(SMS_SDK_APP_ID);
            req.setSignName(SIGN_NAME);
            req.setTemplateId(TEMPLATE_ID);
            String[] templateParamSet1 = {smsParam.getContent()};
            req.setTemplateParamSet(templateParamSet1);
            req.setSessionContext(IdUtil.fastSimpleUUID());

            /**
             * 请求,返回结果
             */
            SendSmsResponse resp = client.SendSms(req);
            return SendSmsResponse.toJsonString(resp);

        } catch (TencentCloudSDKException e) {
            log.error("send tencent sms fail!{},params:{}", Throwables.getStackTraceAsString(e), JSON.toJSONString(smsParam));
            return null;
        }

    }
}

注意上面的参数有需要修改的地方,SECRET_IDSECRET_KEY

在这里插入图片描述

  • 4
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
2023-pytorch是一个开源深度学习库,它在计算机视觉领域有广泛的应用。本文将手把手你如何使用CSDN来学习和获取有关2023-pytorch分类的相关资料和程。 首先,在你的浏览器中打开CSDN的官方网站,网址为www.csdn.net。在主页上,你可以看到各种热门的技术文章、博客和论坛。在搜索框中输入"2023-pytorch分类",然后点击搜索按钮。CSDN将会为你展示与该关键词相关的所有内容。 接下来,你可以通过筛选工具来找到特定类型的文章或程。例如,你可以选择只查看博客、文章或程。你还可以选择按照发布时间或热度排序来获取最新或最受欢迎的内容。 当你找到一篇感兴趣的程时,点击进入阅读。通常,程会提供详细的步骤和示例代码,帮助你了解如何使用2023-pytorch进行分类任务。你可以按照程中的指示一步一步地操作,并理解每个步骤的原理和作用。 除了阅读程外,CSDN还提供了一个活跃的技术问答社区。你可以在这里向其他用户提问、讨论问题,或分享你的学习体验和心得。社区中的任何人都可以回答你的问题,所以不要犹豫,积极参与其中。 此外,CSDN还为用户提供了博客功能,你可以创建自己的博客来记录学习过程和分享实践经验。通过写博客,你还可以得到其他人的反馈和建议,不断提升自己的技术水平。 总结起来,要使用CSDN学习和获取有关2023-pytorch分类的相关资料和程,你可以通过搜索功能找到相关内容,阅读程并按照指导一步一步地进行实践,参与技术问答社区以及利用博客功能分享你的学习心得和经验。通过这些途径,你将能够快速掌握2023-pytorch分类的基本原理和应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zyyn_未来可期

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值