Java实现SpringBoot发短信给用户详细(腾讯云)

版权声明:软妹儿❀ https://blog.csdn.net/weixin_43103859/article/details/96988102

最近项目做登陆的时候需要根据手机号发短信获取验证码,第三方使用的是腾讯云

首先,先有一个腾讯云账号,登陆进来点击控制台
在这里插入图片描述
点击短信
在这里插入图片描述
进去之后会让我们添加应用,应用一般都是公司项目产品的名字
在这里插入图片描述
添加完应用之后,点击你的应用----点击国内短信—短信内容配置–创建短信签名–创建短信正文,短信签名一般都是公司的简称,短信正文根据你的需求填写内容

创建完之后就开始上项目了.
第一步引入短信验证需要的jar包,maven的pom.xml加入:

<dependency>
		<groupId>com.github.qcloudsms</groupId>
		<artifactId>qcloudsms</artifactId>
		<version>1.0.6</version>
	</dependency>

第二步创建一个实体类,里面放着腾讯云发送短信需要的参数:签名,APP_ID以及APP_KEY,这些参数去腾讯云中拿贴到你的代码中
在这里插入图片描述
在这里插入图片描述

//APP_ID
final private int APP_ID="";
//校验短信发送请求合法性的密码
final private String APP_KEY="";
final private int YH_DL_TTEMPLATEID="8743";//腾讯云模版的ID ,比如说是8743(代表登陆)
final private int YH_ZC_TTEMPLATEID="8745";//腾讯云模版的ID ,比如说是8745(代表注册)
final String smsSign = "";//签名

第二步创建个工具类,我这边是创建了一个工具类,代码中需要发送短信的时候直接就调用就可以了,你也可以按照你的方式写:

签名一定要提供:qcloudsms.getSmsSign();这个就是去获取签名

 public static String sendReservationMes(String number,String [] msg,int type ){
     //创建的实体类,里面存放的是APP_Id 和签名和APP_key以及对应的腾讯模版Id,
	 Qcloudsms qcloudsms = new Qcloudsms();
        try {
        	int TTEMPLATEID =0;
        	if(type==11) { //注册
        		TTEMPLATEID = qcloudsms.getYH_ZC_TTEMPLATEID();
        	}else if(type==12) {//登录        		
        		TTEMPLATEID = qcloudsms.getYH_DL_TTEMPLATEID();
        	}     	
            SmsSingleSender ssender = new SmsSingleSender( qcloudsms.getAPP_ID(),  qcloudsms.getAPP_KEY());
            SmsSingleSenderResult result = ssender.sendWithParam("86", number,
            		TTEMPLATEID, msg,  qcloudsms.getSmsSign(), "", "");  // 签名参数未提供或者为空时,会使用默认签名发送短信
            return result.errMsg;//OK
        } catch (HTTPException e) {
            // HTTP响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络IO错误
            e.printStackTrace();
        }
        return null;
    }

第三步:测试main方法(根据你的短信内容决定里面需要的参数)
例如:{1}(**验证码),你正在注册账号,如非本人操作请忽略.
{1}:代表的就是你的验证码,手机号是必须要传的
我这边有多条短信内容,所以type只是分辨发送的是哪一条内容.这里type=11代表的是注册的时候发送短信,

public static void main(String[] args) {
	
	String  phoneNumber="";//手机号
	String  radom=UUIDUtils.randomCode();//生成验证码的方法
	String  params[]= {radom};
	int type=11;//注册  11代表注册
	sendReservationMes(phoneNumber,params,type);		
}

到这一步,腾讯云发送短信也就完成了,具体的业务逻辑根据你的需求运用到你项目中去

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值