Java实现腾讯云短信服务功能(保姆级,超详细,附源码)

百度可以搜索到很多短信服务提供商,这里以腾讯云的短信服务为例(阿里云的也尝试了一下,可能是我运气不好,试了好几次都没有通过审核,阿里云的现在好像也需要资质了,企业或者商户),腾讯云刚开通短信服务赠送100条免费体验,对于我用来搞毕设仅使用验证码来说非常的够用,并且好通过审核,效率挺高。

1.注册腾讯云

这里就不过多赘述了可以使用vx扫一扫快速注册。

2.开通短信服务

 

新开通短信服务赠送100条短信

3.创建短信签名

 这里测试过小程序和公众号,两者区别不大,有哪个用哪个,都没有建议公众号注册一个也比较快;证明上传不知道怎么传,可以点击“查看案例”根据官方提示操作。

创建签名之后,状态会进入“待审核”,审核通过之后会变成“已通过”,我申请的时候大概也就十来分钟左右就通过了,正好可以趁着这个时间去创建正文模板。

4.创建正文模板

 这里短信类型有两种,营销短信需要企业认证;一般需要生成随机验证码或者自定义内容时需要加上“{1}”用作占位符,例如:验证码为:123456

5.短信发送操作

maven工程在pom文件中导入依赖 

<!--腾讯云短信验证码-->
<dependency>
	<groupId>com.tencentcloudapi</groupId>
	<artifactId>tencentcloud-sdk-java</artifactId>
	<version>3.1.62</version>
</dependency>

 在腾讯云上可以自动生成代码

 这里我们需要得到几个重要的参数SmsSdkAppIdTemplateIdSignName,下面依次介绍

SmsSdkAppId:

 TemplateId:

 SignName:

 将参数全部填写

 全部填写后,验证码以“123456”为例,进行在线测试,显示已发送成功

 验证码收到啦,完美!!!

 接下来就可以把代码复制粘贴到项目中

如果在腾讯云上找不到代码生成的小伙伴,可以直接粘贴下面代码也是一样的,改一下参数即可

 发送短信完整代码如下

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;
import com.tencentcloudapi.sms.v20210111.SmsClient;
import com.tencentcloudapi.sms.v20210111.models.*;

public class SendSms
{
    public static void main(String [] args) {
        try{
            // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey,此处还需注意密钥对的保密
            // 密钥可前往https://console.cloud.tencent.com/cam/capi网站进行获取
            Credential cred = new Credential("SecretId", "SecretKey");
            // 实例化一个http选项,可选的,没有特殊需求可以跳过
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("sms.tencentcloudapi.com");
            // 实例化一个client选项,可选的,没有特殊需求可以跳过
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);
            // 实例化要请求产品的client对象,clientProfile是可选的
            SmsClient client = new SmsClient(cred, "ap-guangzhou", clientProfile);
            // 实例化一个请求对象,每个接口都会对应一个request对象
            SendSmsRequest req = new SendSmsRequest();
            //手机号数组
            String[] phoneNumberSet1 = {"+8612345678912"};
            req.setPhoneNumberSet(phoneNumberSet1);
            
            //短信应用id   “SmsSdkAppId”   填入上文获取的对应参数   这里示例随便填的
            req.setSmsSdkAppId("123456789");
            //签名内容   “SignName”   填入上文获取的对应参数   这里示例随便填的
            req.setSignName("hellocsdn");
            //正文模板id   “TemplateId”   填入上文获取的对应参数   这里示例随便填的
            req.setTemplateId("1234567");

            //验证码数组
            String[] templateParamSet1 = {"123456"};
            req.setTemplateParamSet(templateParamSet1);

            // 返回的resp是一个SendSmsResponse的实例,与请求对象对应
            SendSmsResponse resp = client.SendSms(req);
            // 输出json格式的字符串回包
            System.out.println(SendSmsResponse.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }
    }
}

 这样还不算完成,真正在项目中跑起来还需要两个参数:SecretIdSecretKey,这两个是腾讯云账号的秘钥参数。之所以在腾讯云上不用配置,是因为他会自动读取当前账号的这两个属性放入其中yyds

 

 将复制来的两个参数粘贴至这里

Credential cred = new Credential("SecretId", "SecretKey");

修改之后运行报错了,这个原因是没有联网,因为短信是通过腾讯云发送的,所以需要本地有网络,有网的情况下如果还是不好使可能是网络波动切换一个试试就可以了,这种情况我也遇到好多次了,结果自己开的热点  心痛。。。

 

 这次好了,发送成功了

 看到信息发送过来了,为了区别第一次发送的,这次修改为六个零,可以看到成功啦!!!

新手小白,如有不足之处,多多包涵

如果文章中有什么不对的的地方或者需要改进的地方,还请大佬们不吝赐教

开发一个BBS论坛是一个相对复杂的项目,需要涉及到多个方面的技术,包括但不限于Web框架、数据库、前端技术等。下面是一个从0到全部功能实现保姆教程,希望对你有所帮助。 1. 确定开发框架和技术栈 一般来说,开发一个BBS论坛需要使用一些Web框架、数据库和前端技术。常见的Web框架包括Django、Flask等,数据库可以选择MySQL、PostgreSQL等,前端技术可以使用Bootstrap、jQuery等。根据自己的技术背景和需求进行选择。 2. 设计数据库 在开发BBS论坛之前,需要设计好数据库结构。根据需求,设计好用户表、帖子表、回复表等。同时,也需要考虑到数据的安全性和可扩展性。 3. 搭建环境 搭建好开发环境是开发BBS论坛的第一步。需要安装好Python、Web框架、数据库等相关软件,并进行配置。同时,也需要安装一些常用的工具,如git、pip等。 4. 编写代码 在环境搭建完成后,就可以开始编写代码了。根据需求,编写用户注册、登录、发帖、回复等功能的代码。同时,也需要编写前端页面,使用HTML、CSS和JavaScript等技术实现。 5. 测试和调试 完成代码编写后,需要进行测试和调试。通过自动化测试和手动测试,确保代码的质量和可靠性。同时,也需要对代码进行调试,解决可能出现的bug和问题。 6. 部署上线 最后,将BBS论坛部署到服务器上,并进行上线。需要考虑到服务器环境、安全性等因素,确保BBS论坛可以正常运行。 以上是开发BBS论坛的基本步骤和流程,希望对你有所帮助。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

长方形和正方形

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

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

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

打赏作者

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

抵扣说明:

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

余额充值