1. 注册短信平台(以阿里云为例)

常用短信服务平台:阿里云、华为云、腾讯云、京东、梦网、乐信等

2. 注册成功后,开通短信服务

3. 设置短信签名、短信模板、AccessKey

AccessKey 是访问阿里云 API 的密钥,具有账户的完全权限,我们要想在后面通过API调用阿里云短信服务的接口发送短信,那么就必须要设置AccessKey。

控制台页面--->点击右上角头像--->选择"AccessKey管理"

4. 代码开发

可参考:官方文档

4.1 导入Maven依赖

<dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-core</artifactId><version>4.5.16</version>
</dependency><dependency><groupId>com.aliyun</groupId><artifactId>aliyun-java-sdk-dysmsapi</artifactId><version>2.1.0</version>
</dependency>

4.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;/*** 短信发送工具类*/
public class SMSUtils {/*** 发送短信* @param signName 签名* @param templateCode 模板* @param phoneNumbers 手机号* @param param 参数*/public static void sendMessage(String signName, String templateCode,String phoneNumbers,String param){DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "xxxxxxxxxxxxxxxx", "xxxxxxxxxxxxxx");IAcsClient client = new DefaultAcsClient(profile);SendSmsRequest request = new SendSmsRequest();request.setSysRegionId("cn-hangzhou");request.setPhoneNumbers(phoneNumbers);request.setSignName(signName);request.setTemplateCode(templateCode);request.setTemplateParam("{\"code\":\""+param+"\"}");try {SendSmsResponse response = client.getAcsResponse(request);System.out.println("短信发送成功");}catch (ClientException e) {e.printStackTrace();}}}

4.3 发送短信验证码业务

// 发送手机短信验证码
@PostMapping("/sendMsg")
public R<String> sendMsg(@RequestBody User user, HttpSession session){//获取手机号String phone = user.getPhone();if(StringUtils.isNotEmpty(phone)){//看个人需求自行编写,已生成随机的4位验证码为例String code = ValidateCodeUtils.generateValidateCode(4).toString();log.info("code={}",code);//调用阿里云提供的短信服务API完成发送短信//SMSUtils.sendMessage("10JQKA","",phone,code);//需要将生成的验证码保存到Sessionsession.setAttribute(phone,code);return R.success("短信发送成功!!!");}return R.error("短信发送失败!!!");
}

以上是以阿里云发送短信验证码为例,如有不足之处,还请大神留言补充,ღ( ´・ᴗ・` )比心。

java 阿里云 发送短信功能实现相关推荐

  1. Java阿里云发送短信

    文章目录 前言 准备工作 短信服务API介绍 阿里云api发送短信 传送门 前言 短信服务,是阿里云为客户提供的一种通信服务的能力. 准备工作 需要申请一个阿里云账号 开通短信服务 添加签名和模板(需 ...

  2. 阿里云发送短信功能(环境搭建篇)

    前言 1.阿里云的开发文档写的很详细,仔细阅读文档就可以啦. 步骤 (1)第一步,需要注册阿里云账号,并且完成实名注册,发送短信验证功能需要充值.这个不仔细展开讲 (2)第二步,点击开通短信功能 并且 ...

  3. 【短信发送】实现腾讯云发送短信功能--工具类和SpringBoot配置两种方法实现

    实现腾讯云发送短信功能--工具类和SpringBoot配置两种方法实现 一.开通腾讯云短信服务 二.工具类--使用qcloudsms实现短信发送 三.Spring Boot项目引入短信发送功能 我们发 ...

  4. 【阿里云短信服务SMS】使用阿里云发送短信

    使用阿里云发送短信 前期准备工作 1.添加签名 2.添加短信模板 3.创建子用户,得到密钥:AccessKeyId和 AccessKeySecret 4.给子用户添加权限 5.收集好之前步骤中的4个关 ...

  5. 使用阿里云发送短信验证码

    目录 一.用户注册登录流程 二.使用阿里云发送短信验证码 ⭐生成密钥 ⭐将密钥配置到项目中 ⚪新建properties文件并填入相应信息 ⚪pom配置 ​⚪ 测试代码 ⚪添加签名 ​⚪添加短信发送的模 ...

  6. 阿里云发送短信代码、C++版

    最近使用VS2019 实测了一把阿里云发送短信接口,发现坑很多,好在最后全部通过 需要的自取下载 阿里云发送短信C++源码.实测通过-C++文档类资源-CSDN下载 #pragma warning(d ...

  7. SpringBoot+vue 使用阿里云的短信功能发送手机验证码

    前言: 小编后端用的是Springboot 前端用的是vue ,小编主要是写后台,前端页面比较简陋,后期还要调优,写的不对处还望多多包涵. 环境: 需要先准备好阿里云的账号和一些必要的参数.详情见我的 ...

  8. 使用阿里云发送短信验证码(JAVA实现)

    文章目录 准备工作 完成阿里云认证 生成秘钥 申请签名和模板 编写代码 需要引入的JAR包依赖 代码 充钱 准备工作 我们首先登陆阿里云 https://www.aliyun.com 完成阿里云认证 ...

  9. Java后端集成发送短信功能(用的是阿里云的短信服务)

    首先说明,我的操作步骤主要以截图为主,基本上是每一步都有截图,所以难免显有些啰嗦,不喜勿喷.喜欢看文字的可以访问 https://help.aliyun.com/document_detail/552 ...

最新文章

  1. 【百度地图API】小学生找哥哥——小学生没钱打车,所以此为公交查询功能
  2. 【Python】【入门】一文带你掌握Python27入门 ~
  3. 软件工程的七条基本原理:经典
  4. 理解阻塞到底是什么回事
  5. 2000条你应知的WPF小姿势 基础篇69-73 WPF Freeze机制和Template
  6. 爆炸性环境设备通用要求标准_防爆电气设备的适用环境及温度要求
  7. django Form 效验
  8. 回溯算法解迷宫问题(java版)
  9. 降准对房价与股市的影响!
  10. zencart 1.5.1 英文原版 安装前和安装后目录文件的变换
  11. 每周分享第 17 期
  12. 计算机硬盘和分区是什么关系,电脑硬盘如何分区 电脑硬盘分区注意事项【详解】...
  13. 计算机串口(RS232)的针脚定义
  14. 软件测试能干到多少岁,老了怎么办?
  15. 任正非:一个人对自己都不狠,哪来的战斗力?
  16. BZOJ 3653 谈笑风生
  17. 今日头条18校招算法笔试
  18. 项目沟通管理流程的6大规范步骤
  19. ES--IK分词器安装
  20. android spinner,自定义字体大小颜色背景位置

热门文章

  1. C语言中的if、else if 的用法和区别
  2. 经典Web容器解析漏洞
  3. 牛客-判断一个链表是否为回文结构
  4. 固态硬盘原理与ASS SSD Benchmark
  5. Prim算法实现最小生成树(Java)
  6. 泰国证券交易所预计将在本月批准5个ICO项目
  7. MySQL#Update语句
  8. gunicorn flask的请求流程
  9. 前端基础知识点-每天一个基本知识点(100+个前端小知识,你是否都知道?)
  10. 步入J2EE架构和过程