1. 引入依赖

pom.xml 文件

        <!-- aliyun短信服务API接口依赖的SDK --><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>3.2.8</version><!-- 注:如提示报错,先升级基础包版,无法解决可联系技术支持 --></dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-dysmsapi</artifactId><version>1.1.0</version></dependency><!-- aliyun短信服务 end -->

2. 发短信代码

package com.wqm.common.Utils.aliyun;import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.QuerySendDetailsResponse;
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;
import org.springframework.stereotype.Service;import java.text.SimpleDateFormat;
import java.util.Date;/*** @author wangqinmin* @Description: 短信sms工具*/
@Service
public class AliSmSUtils {// 产品名称:云通信短信API产品,开发者无需替换static final String product = "Dysmsapi";// 产品域名,开发者无需替换static final String domain = "dysmsapi.aliyuncs.com";// TODO 此处需要替换成开发者自己的AK(在阿里云访问控制台寻找)static final String AccessKeyId = "LTA*********";static final String AccessKeySecret = "79VUoKC*************";/*** 发短信工具类** @param phone* @return* @throws ClientException*/public static SendSmsResponse sendSmsEN(String phone, String cpassword, String cname) throws ClientException {// 可自助调整超时时间// System.setProperty("sun.net.client.defaultConnectTimeout", "10000");// System.setProperty("sun.net.client.defaultReadTimeout", "10000");// 初始化acsClient,暂不支持region化IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", AccessKeyId, AccessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);IAcsClient acsClient = new DefaultAcsClient(profile);// 组装请求对象-具体描述见控制台-文档部分内容SendSmsRequest request = new SendSmsRequest();// 必填:待发送手机号request.setPhoneNumbers(phone);// TODO 必填:短信签名-可在短信控制台中找到request.setSignName("快**");// TODO 必填:短信模板-可在短信控制台中找到request.setTemplateCode("SMS_13******");// 您的验证码为:${code},该验证码3分钟内有效,请勿泄漏于他人。// 可选:模板中的变量替换JSON串,如模板内容为"亲爱的${name},您的验证码为${code}"时,此处的值为// TODO TemplateParam中需要以json格式字符串给使用的模板中出现的所有变量进行赋值。例:模板为:您好${name},验证码${code} TemplateParam={“name”:”Tom”,”code”:”123”}//request.setTemplateParam("{\"name\":\"" + cname + "\"}");request.setTemplateParam("{\"name\":\"" + cname + "\",\"password\":\"" + cpassword + "\"}");// 选填-上行短信扩展码(无特殊需求用户请忽略此字段)// request.setSmsUpExtendCode("90997");// 可选:outId为提供给业务方扩展字段,最终在短信回执消息中将此值带回给调用者// request.setOutId("yourOutId");// hint 此处可能会抛出异常,注意catchSendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);return sendSmsResponse;}/*** 短信发送结果查询** @param bizId   可选-流水号* @param phone   必填-号码* @param code* @return* @throws ClientException*/public static QuerySendDetailsResponse querySendDetails(String bizId, String phone, String code)throws ClientException {// 可自助调整超时时间System.setProperty("sun.net.client.defaultConnectTimeout", "10000");System.setProperty("sun.net.client.defaultReadTimeout", "10000");// 初始化acsClient,暂不支持region化IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", AccessKeyId, AccessKeySecret);DefaultProfile.addEndpoint("cn-hangzhou", "cn-hangzhou", product, domain);IAcsClient acsClient = new DefaultAcsClient(profile);// 组装请求对象QuerySendDetailsRequest request = new QuerySendDetailsRequest();// 必填-号码request.setPhoneNumber(phone);// 可选-流水号request.setBizId(bizId);// 必填-发送日期 支持30天内记录查询,格式yyyyMMddSimpleDateFormat ft = new SimpleDateFormat("yyyyMMdd");request.setSendDate(ft.format(new Date()));// 必填-页大小request.setPageSize(10L);// 必填-当前页码从1开始计数request.setCurrentPage(1L);// hint 此处可能会抛出异常,注意catchQuerySendDetailsResponse querySendDetailsResponse = acsClient.getAcsResponse(request);return querySendDetailsResponse;}}

阿里云 短信服务(代码编写及使用)相关推荐

  1. SpringBoot-短信验证码-快速入门Demo(含redis)(手把手教你开通阿里云短信服务到写出个最终代码来)

    B站小狂神-此博客的内容就是看了这个视频的总结(博主自己写的哦~并非转载) 视频链接-[狂神说]通俗易懂的阿里云短信业务实战教程(露脸) 您是否还在为别人的项目有短信功能自己的却没有? 您是否还在为自 ...

  2. 阿里云短信服务(申请与代码)

    目前阿里云短信签名审核更加严格了,如果不通过请转至<腾讯云短信申请与代码>,腾讯云简单易通过 记录申请短信服务签名的坑 短信服务签名申请注意事项: 自2020年12月17日开始,阿里云短信 ...

  3. 阿里云短信服务编写使用详细教程

    ** 阿里云短信服务编写使用 **最近要使用阿里云短信服务,然后研究了一下,将我自己的学习过程记录一下(小白,不喜勿喷) 在https://help.aliyun.com/document_detai ...

  4. 阿里云短信服务详细说明与实战开发后端代码

    文章目录 1.短信服务背景 2.短信发送流程 3.阿里云短信服务基本说明 3.1 开通阿里云短信服务与购买短信套餐包 3.2 短信服务帮助文档 3.3 手机短信模板介绍 3.3.1 基本说明 3.3. ...

  5. 阿里云短信服务Java实现

    文章目录 1.阿里云用户权限 2.开通阿里云短信服务 3.帮助文档 4.编写测试代码 真实项目应用 1.阿里云用户权限 阿里云平台有很多业务,用户登录阿里云之后,要想使用业务,必须开通该业务的权限 登 ...

  6. Java常用工具类-发短信(集成阿里云短信服务)

    1.注册阿里账号并开通短信服务 注册阿里账号后,并进行个人或企业实名认证,实名认证后,才能开通短信服务. 界面如下: 2.获取AccessKey 参考获取AccessKey方法 创建成功后,如下图: ...

  7. SpringBoot实现阿里云短信服务

    阿里云短信服务 了解阿里云用户权限 准备工作 开启子用户 新建一个用户组 创建用户并添加进用户组 开启阿里云短信服务 添加模板 添加签名 编写代码测试 新建项目 导入依赖 编写测试代码 开启redis ...

  8. 手把手教你对接阿里云短信服务

    正好双十二,最近在做一个小项目需要用到短信业务,注册了新用户125买了5000条短信,有效期2年. 那么如何对接阿里云短信,需要做哪些操作? 可以参考https://help.aliyun.com/d ...

  9. 谷粒学院(十五)JWT | 阿里云短信服务 | 登录与注册前后端实现

    文章目录 一.使用JWT进行跨域身份验证 1.传统用户身份验证 2.解决方案 二.JWT令牌 1.访问令牌的类型 2.JWT的组成 3.JWT的原则 4.JWT的用法 三.整合JWT令牌 1.在com ...

  10. QQ第三方授权登录+阿里云短信服务

    一.简介 目前我们使用的web系统在登陆功能开发时,不仅仅只是单纯的使用表单填写用户注册信息来进行注册,参考我们现在使用的其他软件存在以下登录情况. 使用QQ/微信等第三方平台进行授权登录 使用短信验 ...

最新文章

  1. Redis单例、主从模式、sentinel以及集群的配置方式及优缺点对比
  2. Linux ALSA声卡驱动之六:ASoC架构中的Machine
  3. 【Flutter】Dart 面向对象 ( 命名构造方法 | 工厂构造方法 | 命名工厂构造方法 )
  4. Hutool Java 工具类库导出 Excel,超级简单!
  5. mysql 1054 42s22_MySQL ERROR 1054(42S22)
  6. python画统计图代码_Python使用统计函数绘制简单图形实例代码
  7. [机器学习笔记]Note10--支持向量机(SVM)
  8. 32命令模式(Command Pattern)
  9. C++11并发实战(专栏)
  10. layui中laypage当前页刷新
  11. 小游戏一键跳转小程序任意页面
  12. matlab costas环,MATLAB写COSTAS环的问题。
  13. KindEditor - 代码高亮
  14. postgresql查看表的创建者和表的权限
  15. 2019夏软工暑期随笔3
  16. android clipRect 用法说明
  17. MYSQL 随机字符串
  18. 一键steam挂卡linux,steam游戏挂卡工具(ArchiSteamFarm)
  19. 数据挖掘之监督学习篇
  20. 微动开关技术知识-微动开关概要

热门文章

  1. 浪潮IPF2018:发布全新AI品牌,赋能伙伴,目标5年全球第一
  2. SECTION 2 Python基础语法
  3. 开源PHP 代挂机源码,可对接QQ、网易云、哔哩哔哩、QQ空间、等级加速等等
  4. (转) Vultr能Ping但是SSH无法连接
  5. Linux进入ubuntu蓝屏重启的解决方法
  6. HoloLens2代 安装过程
  7. 跟着佐大学OpenWrt开发入门培训班
  8. Ubuntu20.04下载cuda11.3+cuDNN8.2.0,卸载cuda11.6+cuDNN8.4全记录【保姆级教程】
  9. 数据库连接不上服务器及数据导入不成功问题
  10. java 手机页面pdf显示不出来_PDF首次在Android上加载时显示为空