spring boot实现腾讯云短信发送业务

本文档记录了如何使用SpringBoot实现腾讯云短信发送功能,包括在腾讯云注册并创建签名、正文模板,以及配置SpringBoot项目实现短信发送的详细步骤,包括pom.xml、实体类、Controller、Service层的代码示例。
摘要由CSDN通过智能技术生成


最近公司有个业务需要短信发送验证码给用户,第一次接触短信发送的功能,一开始无从下手,后面经过百度等,慢慢摸索一番之后,终于整理出一点小头头绪,现在整理成一个小文档,一方面防止后面忘记,可以随时回顾一下,一方面发出来,希望能帮到部分同学,写的不好,还请多多包含,话不多说,下面进入正题:

注册腾讯云短信服务

1.打开腾讯云首页搜索短信

搜索短信

2.进入首页

进入首页

3.创建签名

由于我们的服务是面向国内的人员,直接选择了国内短信,打开之后会看到有签名管理,正文模板管理模块和短信群发三个模块,我们的重点在签名管理和正文模板管理,点击签名管理,首先就是先创建签名,顾名思义,签名就是在发短信的时候,短信前面的签名,我们点击创建签名
创建签名
如图选择签名的用途,由于我这是测试,先选择了自用,签名的类型选择有网站,公众号等等,我这里选择的是公众号,证明的类型选择是公众号截图。
一般签名资料填写好之后选择提交,接下来就要等待腾讯云服务的平台的工作人员进行审核了,正常情况下,创建短信签名或正文模版后2个小时左右会反馈审核结果(审核时间:周一至周日9:00 - 23:00),当然了如果觉得慢,或者等着急用可以联系直接工作人员,申请快点审批。如上图

4.正文模板申请

当签名申请通过之后,接下来就是正文模板的创建和申请了,点击正文模板管理,创建正文模板
模板创建
正文模板的申请就有点严格了,正文你的内容可以是自己定义,也可以选择使用模板,短信验证功能是没问题的,但是短息的验证码只能是数字,不能带有英语等其他字符,而且不能带链接,如果带链接需要与人工客服进行沟通,进行审核
如上是我
如上是我进行模板的申请。到这里,腾讯云的工作我们就做完了,下面上代码。

spring boot短信代码

整个项目的代码格式如下
项目

1.pom文件
<!--腾讯云短信依赖 -->
<dependency>
<groupId>com.citycloud</groupId>
<artifactId>ccuap-framework-model</artifactId>
<version>1.1.6-SNAPSHOT</version>
</dependency>
2.创建短信发送实体类

在这里我们依照spring boot三层格式来写
首先创建短信内容的实体类
SmsEntity

@Data
public class SmsEntity {
    private String phoneNum; //要发送的手机号
    private String ucode;  //要发送的内容
    private String min; //限定过期的时间
}

3.创建controller层
@RestController
@Api(tags = "案件短信发送信息")
@RequestMapping("/sms")
public class SmsController {
    @Autowired
    SendSmsService sendSmsService;

    @PostMapping("/send")
    @ApiModelProperty("发送短信")
    public JSONData sendSms(@RequestBody SmsEntity smsEntity){
        sendSmsService.send(smsEntity);
        return new JSONData();
    }
}
4.创建service层
public interface SendSmsService {
    void send(SmsEntity smsEntity);
}

5.实现类
@Service
@Slf4j
public class SendSmsServiceImpl implements SendSmsService {
    @Override
    public void send(SmsEntity smsEntity) {
        //云平台应用管理SDK AppID
        int appid= xxxx ;
        //c
        String appkey="XXXXXXXXXXXXXXXXXXXXXXXXXX" ;
        ///正文模板id
        int templateId=XXXX;
        //签名管理的内容
        String smsSign = "学习小栈栈";
        try{
            String[] params = {smsEntity.getMin()}; //短信中的参数
            SmsSingleSender ssender = new SmsSingleSender(appid,appkey);
            SmsSingleSenderResult result = ssender.sendWithParam("86",smsEntity.getPhoneNum(),templateId,
                    params,smsSign,"","");
            System.out.println(result);
        }catch (Exception e){
            e.printStackTrace();
        }
    }
}

实现类的一些参数

如上图所示,实现类里面有一些参数,我们打开我们的腾讯云;
应用管理
找到左边菜单栏下的应用列表,打开我们刚才创建的服务进去之后
云平台应用管理SDK AppID对应

 appid= xxxx ; //SDK AppID
 String appkey=XXXXXXXX;  //云平台的AppKey
 //正文模板id
 int templateId=XXXX; //确定选择的是哪一个模板的内容
 //签名管理的内容
 String smsSign = "学习小栈栈";

测试

这时候我们跑一下项目,进行一次测试
postman
yanzhengma
完结

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值