栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【记录】SpringBoot接入阿里云短信服务

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【记录】SpringBoot接入阿里云短信服务

由于工作需要,特此记录一下

一、阿里云设置签名和模板

阿里云登陆注册我就不说了,登陆之后 首页搜索 短信服务
点击 短信服务 控制台


点击 国内消息 我们需要添加一个签名和模板
签名和模板需要审核,一般两小时内审核。

模板管理

上图的签名名称和模板CODE待会会使用到。

二、云账号 AccessKey

添加一个AccessKey 也就是待会对接阿里云API所需的秘钥

点击 创建AccessKey 它会生成一个 AccessKey ID 和 AccessKey Secret
复制保存这两个生成的字符串,待会对接会使用到

三、Springboot 集成阿里云短信

阿里云其实提供了完整的详细对接文档,如果有需要的朋友可以去查看官网文档,博主也是按照官方文档来进行配置

  1. 导入依赖

   com.aliyun
   dysmsapi20170525
   2.0.7

  1. application.yml配置

  2. 对应配置类

  3. 编写工具类 我直接贴代码了

public class SMSUtil {

    private static final Log log = LogFactory.get();

    //发送短信
    public static boolean send(String mobile){
        Client client = createClient();
        JSONObject param = randomCode();
        SendSmsRequest request = createRequest(mobile,JSONObject.toJSONString(param));
        JSONObject jsonObject = null;
        try {
            SendSmsResponse response = client.sendSms(request);
            jsonObject = (JSONObject) JSONObject.parseObject(JSONObject.toJSONString(response)).get("body");
            System.out.println(jsonObject);
            if(jsonObject.get("code").equals(Constant.SMS.SUCCESS_CODE)){
                log.info("阿里云短信发送成功!手机号:【{}】 -- 验证码:【{}】 -- {}",mobile,param.get("code"),DateUtil.now());
                return true;
            }
        } catch (Exception e) {
            log.error("阿里云短信发送出现异常:{}",e.getMessage());
            return false;
        }
        log.info("阿里云短信发送失败!手机号:【{}】 -- 验证码:【{}】 -- {}",mobile,param.get("code"), DateUtil.now());
        return false;
    }

    
    private static Client createClient(){
        Client client = null;
        Config config = new Config()
                // 您的AccessKey ID
                .setAccessKeyId(AliSMSConfig.id)
                // 您的AccessKey Secret
                .setAccessKeySecret(AliSMSConfig.key);
        config.endpoint = AliSMSConfig.endPoint;
        try {
            client = new Client(config);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return client;
    }

    
    private static SendSmsRequest createRequest(String mobile,String param){
        return new SendSmsRequest()
                .setPhoneNumbers(mobile)
                .setSignName(Constant.SMS.COMMON_SIGN_NAME)//此填写签名名称
                .setTemplateCode(Constant.SMS.TEMPLATE_CODE_TWO)//此填写模板CODE
                .setTemplateParam(param);//验证码参数为json字符串格式 {"code":"xxxxxx"}
    }

    
    private static JSONObject randomCode(){
        StringBuilder code = new StringBuilder();
        Random random = new Random();
        for (int i = 0; i < 6; i++) {
            int r = random.nextInt(10);
            code.append(r);
        }
        JSONObject param = new JSONObject();
        param.put("code",code.toString());
        return param;
    }
}
  1. 测试

测试没问题,手机成功接收到短信,大功告成哈哈哈!!!

代码其实并不多,只要按照官方文档来进行配置还是很轻松的。

第一次写博客有点紧张哈哈,若有纰漏还请见谅

小伙伴们在对接过程中若遇到什么问题欢迎在评论区留言!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/666160.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号