Java实现阿里云短信接口的示例

 更新时间:2020年09月27日 11:09:32   作者:Amour恋空  
这篇文章主要介绍了Java实现阿里云短信接口的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

阿里云短信服务接口

阿里云短信服务(Short Message Service)是阿里云为用户提供的一种通信服务的能力。

支持向国内和国际快速发送验证码、短信通知和推广短信,服务范围覆盖全球200多个国家和地区。国内短信支持三网合一专属通道,与工信部携号转网平台实时互联。电信级运维保障,实时监控自动切换,到达率高达99%。完美支撑双11期间20亿短信发送,6亿用户触达。

快速开发

 ①开启短信服务

1)登陆阿里云服务平台

在这里插入图片描述

2)选择控制台

在这里插入图片描述

3)点击左上角下拉按钮选择短信服务

在这里插入图片描述

4)开通短信服务

在这里插入图片描述

②实名认证

1)如果没有实名认证需要跳转实名认证界面

在这里插入图片描述

2)选择相应的认证

在这里插入图片描述

3)选择支付宝快速的认证

在这里插入图片描述

③创建签名与模板

1)添加签名

在这里插入图片描述

2)选择签名使用场景

验证码:只能使用验证码模板

通用:都可以使用(申请较为严格)

在这里插入图片描述

3)创建短信模板

在这里插入图片描述

4)根据常用模板库申请相应短信模板

根据使用签名可以创建相应模板,注意:验证码签名只能使用验证码模板

在这里插入图片描述

④完成前期的准备工作

1)获取申请成功的签名(注册时的签名名称)

在这里插入图片描述

2)获取申请成功的短信模板(模版code)

在这里插入图片描述

3)获取AccessKey ID 和 AccessKey Secret

在这里插入图片描述

⑤代码书写

1)导入相应坐标

<dependency>
   <groupId>com.aliyun</groupId>
   <artifactId>aliyun-java-sdk-core</artifactId>
   <version>4.5.3</version>
  </dependency>
  <dependency>
   <groupId>com.aliyun</groupId>
   <artifactId>aliyun-java-sdk-dysmsapi</artifactId>
   <version>1.0.0</version>
  </dependency>

2)创建短信发送工具类

import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import com.aliyuncs.profile.IClientProfile;
public class SendSms {
  private static final String AccessKeyId = "";//你的accessKeyId
  private static final String AccessKeySecret = "";//你的accessKeySecret
  private static final String SignName = "";//使用的签名
  private static final String TemplateCode = "";//发送短信使用的模板
  private static IAcsClient acs = null;//服务对象
  private static SendSmsRequest req = new SendSmsRequest();//短信发送请求对象
  static {
    IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", AccessKeyId, AccessKeySecret);
    acs = new DefaultAcsClient(profile);
  }
  //随机生成指定位数验证码
  public static StringBuffer randomCode(int number){
    //验证码内容集
    final char[] CHARS = {
        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9'};
    StringBuffer stringBuffer=new StringBuffer();
    Random r=new Random();
    for(int i=0;i<number;i++){
      stringBuffer.append(CHARS[r.nextInt(CHARS.length)]);
    }
    return stringBuffer;
  }
  //自定义发送方法
  public static boolean sendCode(String mobile, String code) throws ClientException {
    req.setPhoneNumbers(mobile);//设置接收短信手机号
    req.setSignName(SignName);//设置使用签名
    req.setTemplateCode(TemplateCode);//设置使用通知模板id
    req.setTemplateParam("{\"code\":\"" + code + "\"}");//设置请求参数 以json字符串形式与模板一致
    SendSmsResponse res = acs.getAcsResponse(req);//向服务器发送请求
    //System.out.println("res code: " + res.getCode());//响应状态码
    // System.out.println("res message: " + res.getMessage());//响应信息
    if (res.getCode() == null && !res.getCode().equals("OK")) {
      System.out.println(res.getMessage());
      return false;
    }
    return true;
  }
  public static void main(String[] args) throws ClientException {
    System.out.println(sendCode("手机号","验证码"));
  }
}

更多请查看阿里短信服务手册
阿里短信服务手册

到此这篇关于Java实现阿里云短信接口的示例的文章就介绍到这了,更多相关Java 阿里云短信接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java 中责任链模式实现的三种方式

    Java 中责任链模式实现的三种方式

    本文重点给大家介绍java中如何编写责任链模式。主要从下面3个框架中的代码中介绍。非常不错,需要的朋友参考下吧
    2017-09-09
  • 关于泛型擦除问题的解决--Mybatis查询类型转换

    关于泛型擦除问题的解决--Mybatis查询类型转换

    这篇文章主要介绍了关于泛型擦除问题的解决--Mybatis查询类型转换方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • Java类之间的关系图_动力节点Java学院整理

    Java类之间的关系图_动力节点Java学院整理

    在Java以及其他的面向对象设计模式中,类与类之间主要有6种关系,他们分别是:依赖、关联、聚合、组合、继承、实现。他们的耦合度依次增强,有兴趣的可以了解一下
    2017-08-08
  • Java设计模式中的设计原则之合成复用原则详解

    Java设计模式中的设计原则之合成复用原则详解

    这篇文章主要介绍了Java设计模式中的设计原则之合成复用原则详解,原则是尽量使用合成/聚合的方式,而不是使用继承聚合关系表示的是整体和部分的关系,整体与部分可以分开,可以理解为成员变量和当前类的关系就是聚合关系,需要的朋友可以参考下
    2023-11-11
  • Spring实战之使用ClassPathResource加载xml资源示例

    Spring实战之使用ClassPathResource加载xml资源示例

    这篇文章主要介绍了Spring实战之使用ClassPathResource加载xml资源,结合实例形式分析了Spring使用ClassPathResource加载xml资源的具体实现步骤与相关操作技巧,需要的朋友可以参考下
    2019-12-12
  • Spring Cloud Feign原理详解

    Spring Cloud Feign原理详解

    Feign 主要是帮助我们方便进行rest api服务间的调用,本文从Spring Cloud对feign封装的源码中去了解其主要实现机制
    2021-06-06
  • Java面试必考的关键字的用法汇总

    Java面试必考的关键字的用法汇总

    这篇文章主要为大家详细介绍了Java中的几种关键字相关知识,本文比较适合刚入坑Java的小白以及准备秋招的大佬阅读,需要的小伙伴快收藏起来吧
    2023-06-06
  • SpringBoot 使用log4j2的配置过程

    SpringBoot 使用log4j2的配置过程

    这篇文章主要介绍了SpringBoot 使用log4j2的配置,springboot默认是用logback的日志框架的,所以要在pom中配置排除logback。这里需要注意的是,其实不止一处使用了logback,所以要在starter中统一排除,然后引入log4j2,需要的朋友可以参考下
    2022-09-09
  • Spring中的自定义NamespaceHandler详解

    Spring中的自定义NamespaceHandler详解

    这篇文章主要介绍了Spring中的自定义NamespaceHandler详解,通常情况下,Spring生态圈提供的功能已足够使用,但不排除特殊情况下,需要匹配特殊及复杂的业务情况,Spring提供了可扩展Schema支持,可以自定义命名空间进行配置及解析,需要的朋友可以参考下
    2023-11-11
  • SpringBoot集成极光推送的实现代码

    SpringBoot集成极光推送的实现代码

    工作中经常会遇到服务器向App推送消息的需求,一般企业中选择用极光推送的比较多,本文就介绍了SpringBoot集成极光推送的实现代码,感兴趣的可以了解一下
    2023-08-08

最新评论