SpringBoot中发送短信

1.首先进入阿里云官网

https://www.aliyun.com

2.进入阿里云购买短信服务

3.找到免费使用

4.购买完成后,进入买家中心 找到appcode码

5.导入依赖

<!-- 短信依赖  5条依赖 -->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.15</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.2.1</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpcore</artifactId>
    <version>4.2.1</version>
</dependency>
<dependency>
    <groupId>commons-lang</groupId>
    <artifactId>commons-lang</artifactId>
    <version>2.6</version>
</dependency>
<dependency>
    <groupId>org.eclipse.jetty</groupId>
    <artifactId>jetty-util</artifactId>
    <version>9.3.7.v20160115</version>
</dependency>

前端

<form>
    手机号: <input type="text" name="userTel" id="userTel"> <br>
    密码: <input type="text" name="userPwd"> <br>
    验证码: <input type="text" name="code"> <input type="button" value="发送验证码" onclick="getCode()"> <br>
    <input type="button" value="登录"  onclick="login()">
</form>
</body>
<script>
 
    function getCode() {
        $.ajax({
            url:"/user/getCode",
            data:{userTel:$("#userTel").val()},
            dataType:"json",
            success:function (res) {
                alert(res.msg);
            }
        })
    }
</script>

后端

@Override
public Result getCode(String userTel) {
    //非空
    if(StringUtils.isEmpty(userTel)){
        return new Result(401,"用户姓名输入不能为空,请输入");
    }
    //根据姓名查手机号
    User user=userMapper.selTel(userTel);
    if(user==null){
        return new Result(403,"用户不存在");
    }
    Random random = new Random();
    int i = random.nextInt(9999) + 1000;
    String code = String.valueOf(i);
    String cacheCode = msgUtil.getCacheCode(user.getUserTel());
    System.out.println(code);
    if(org.apache.commons.lang.StringUtils.isNotEmpty(cacheCode)){
        return new Result(404, "一分钟以内不能多次发送验证码");
    }
    String s = msgUtil.sendMsg(user.getUserTel(), code);
    if(StringUtils.isEmpty(s)){
        return new Result(405, "发送失败");
    }
    JSONObject jsonObject = JSON.parseObject(s);
    String code1 = (String) jsonObject.get("code");
    if(!"1803".equals(code1)){
        return new Result(405, "发送失败");
    }
     msgUtil.saveCacheCode(new CodeEntity(userTel, code));
    return new Result(200, "发送成功");
}

猜你喜欢

转载自blog.csdn.net/weixin_74372895/article/details/143516117