SpringBoot发送短信验证码

本文章使用的是SpringBoot结合云之讯短信平台,其实什么平台不重要,基本上思路都是差不多的
(发送短信是要实名制认证的,是要钱的,我们新注册的云之讯平台是免费送十元短信的,只需要实名制就可以发送短信了)

我使用的是刚刚创建SpringBoot项目,什么都没有的项目:
在这里插入图片描述

(1)下载云之讯SDK。

1.百度搜索云之讯,进入

在这里插入图片描述

2.点击注册(注意,要实名制认证才可发送)

在这里插入图片描述

3.输入信息,注册即可

在这里插入图片描述

4.注册成功,在进入开发者控制台

在这里插入图片描述

5.点击SDK下载

在这里插入图片描述

6.进入SDK下载,下载Java版本zip

在这里插入图片描述

7.下载完解压即可:

在这里插入图片描述

(2)结合SpringBoot项目

1.先在项目中导入云之讯需要的jar包

在这里插入图片描述

		<!-- 云之讯 -->
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.4.1</version>
        </dependency>
        <dependency>
            <groupId>commons-lang</groupId>
            <artifactId>commons-lang</artifactId>
            <version>2.6</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>1.2.5</version>
        </dependency>
2.打开解压后的云之讯SDK

在这里插入图片描述

3.将下载的云之讯SDK中的src里的文件拷贝至SpringBoot启动类同级目录。

在这里插入图片描述

4.导入相应的包,不报错即可

在这里插入图片描述

5.将下载的云之讯SDK中的src里的config.properties剪切至SpringBoot的application.properties同级位置。

在这里插入图片描述

6.在将config.properties中的is_test改为true。

在这里插入图片描述

(3)发送手机短信

1.打开拷贝过来的RestTest.java,里面说明怎样去发送验证码了。我们先不管他

在这里插入图片描述

2.创建Test测试,下面这段代码便是模板单发方法,需要其他类型的短信可以参照文档截取所需代码。

在这里插入图片描述

package com.message.test;

import com.message.com.ucpaas.restDemo.client.JsonReqClient;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

public class Test {


    public static void main(String[] args) {
        String sid = "";//用户的账号唯一标识“Account Sid”
        String token = "";//用户密钥“Auth Token”
        String appid = "";//创建应用时系统分配的唯一标示
        String templateid = "";//可在后台短信产品→选择接入的应用→短信模板-模板ID,查看该模板ID
        String param = generateWord();//模板中的替换参数(验证码)
        String mobile = "";//接收的单个手机号,暂仅支持国内号码
        String uid = "";//用户透传ID,随状态报告返回

        try {
            String result=new JsonReqClient().sendSms(sid, token, appid, templateid, param, mobile, uid);
            System.out.println("Response content is: " + result);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    /**
     * 产生随机的6位数字字符串
     */
    private static String generateWord() {
        int length = 6;
        String[] beforeShuffle = new String[]{"1", "2", "3", "4", "5", "6", "7", "8", "9"};
        List list = Arrays.asList(beforeShuffle);
        Collections.shuffle(list);
        StringBuilder sb = new StringBuilder();
        for (int i = 0; i < list.size(); i++) {
            sb.append(list.get(i));
        }
        String afterShuffle = sb.toString();
        return afterShuffle.substring(2, 2 + length);
    }
}
3.绑定云之讯短信发送接口实现短信发送(重点)

进入云之讯开发者控制平台,进入短信应用
在这里插入图片描述
右下角有api对接信息
在这里插入图片描述

重点:

(1)把api接口对接我的Test测试类,前6个参数必须要,最后一个uid可为空,
(2)这一步需要填写sid、token、appid、param、mobile、templateid
参数介绍:
1.前三个参数对应好云之讯平台上的参数
2.param不用管,是已近绑定了我自己定义的随机码生成方法
3.mobile是接受短信的手机号
4.templateid,是发短信的模板,下一步操作教会怎么填(重点,下一步看详细)
5.uid不用管,为空就好了

在这里插入图片描述
(3)templateid怎么填,跟着图片来
1.进入模板库
在这里插入图片描述
2.找到模板id
在这里插入图片描述
3.对应好就ok啦
在这里插入图片描述
4.然后启动main方法,出现就ok啦
在这里插入图片描述

重点:短信没接到就是因为账号为认证,去认证一下就ok啦
在这里插入图片描述

有可能您还需要:

Java代码生成二维码:https://blog.csdn.net/weixin_43122090/article/details/103524097
SpringBoot发送邮件https://blog.csdn.net/weixin_43122090/article/details/103560516
如果需要邮箱发送二维码,可参考我Java代码生成二维码配合Java发送邮件可实现
在这里插入图片描述

发布了36 篇原创文章 · 获赞 36 · 访问量 9909

猜你喜欢

转载自blog.csdn.net/weixin_43122090/article/details/103555621