当前位置: 首页 > article >正文

七牛云短信服务

最近在开发公司内部系统,其中涉及到了短信业务,公司选择了七牛云短信服务,具体实现方案如下:

一、引入pom依赖

<!--        七牛短信-->
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>7.9.0</version>
        </dependency>

二、编写工具类

package com.example.xx.utils;

import com.qiniu.http.Response;
import com.qiniu.sms.SmsManager;
import com.qiniu.util.Auth;

public class SendMessageUtil {

    public static final String ACCESS_KEY = "";

    public static final String SECRET_KEY = "";

    public static final String SIGN_ID = "";


    /*
    * 发送短信版本一,纯短信
    * 参数:手机号
    * */
    public static String sendMessage(String phone) {

        Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
//        实例化短信发送对象
        SmsManager smsManager = new SmsManager(auth);
        try {
            Response response = smsManager.sendMessage(SIGN_ID, new String[]{phone}, null);
            return response.bodyString();
        }catch (Exception e) {
            return "发送失败";
        }
   }

   /*
   * 发送短信版本二、验证码类型
   * 参数:签名id、手机号、验证码
   * */

   public static String sendSms(String signId, String phone, String code){
       Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
       // 实例化一个SmsManager对象
       SmsManager smsManager = new SmsManager(auth);
       HashMap<String, String> map = new HashMap<>();
       map.put("code", code);
       try {
           Response resp = smsManager.sendMessage(signId, new String[] {phone}, map);
           System.out.println(resp.bodyString());
           return resp.bodyString();
       } catch (QiniuException e) {
           return "发送失败";
       }
   }


}

accessKey(AK)、secretKey(SK)、TemplateId(模板id)

查看ACCESS_KEY、SECRET_KEY 的值:七牛云控制台 => 密钥管理(提前创建)

查看SIGN_ID的值:七牛云控制台 => 云短信 SMS => 模板中查看(提前创建)

三、调用

在我们的业务中,直接调用该工具类,即可成功发送短信。


http://www.kler.cn/a/449354.html

相关文章:

  • Go web 开发框架 Iris
  • Debian11 安装MYSQL8 签名错误
  • 【Linux打怪升级记 | 问题01】安装Linux系统忘记设置时区怎么办?3个方法教你回到东八区
  • iterm2 focus时灰色蒙层出现的解决办法
  • 成方金融科技后端部分笔试题 - 解析
  • 3D工具显微镜的测量范围
  • 《前端web开发-HTML5基础》
  • 204页PPT金税四期监管要求与最新政策及风险防范-培训课件
  • Node二、Node.js 模块化、es6 软件包、Express - 框架
  • FastStone 10.x 注册码
  • springboot分布式id,基于snowflake的分布式统一id生成工具
  • 协作机器人做“按摩理疗”,机器人如何感知力度呢?
  • GoCD 持续集成和部署工具配置指南(CentOS 7)
  • Kafka常用集群配置参数
  • 精确与高效:二分查找的完整指南
  • Jenkins引发的多jdk设置问题
  • [AI]解释 Git 的基本概念和使用方式
  • FreeSWITCH的API与APP详解
  • 技术速递|使用 Dependabot 管理 .NET SDK 更新
  • C语言初阶习题【15】猜数字游戏
  • 数字孪生技术在智慧园区管理平台中的应用
  • [AIGC知识] layout理解
  • istio-proxy不打印访问日志怎么解决?
  • 最长公共子序列【东北大学oj数据结构10-3】C++
  • 我的PHP学习之路:经验分享与建议
  • leetcode-15.三数之和-day15(debug中...)