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

【记录】SpringBoot接入阿里云短信服务,第1张

【记录】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. 测试

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

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

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

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5671427.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存