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

Spring Cloud Alibaba-08-SMS短信服务

Lison <dreamlison@163.com>, v1.0.0, 2024.5.1

Spring Cloud Alibaba-08-SMS短信服务

短信服务介绍

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

产品优势:覆盖全面、高并发处理、消息堆积处理、开发管理简单、智能监控调度
产品功能:短信通知、短信验证码、推广短信、异步通知、数据统计
应用场景:短信验证码、系统信息推送、推广短信等

在这里插入图片描述

短信服务使用

1、入驻阿里云

在这里插入图片描述

2、开通短信服务,按流程创建资质、申请前面,创建模版,系统设置,发送短信

在这里插入图片描述

SMS概念

  • 短信服务(Short Message Service)

    短信服务是广大企业客户快速触达手机用户所优选使用的通信能力。调用API或用群发助手,即可发送验证码、通知类和营销类短信。

  • 短信模版(TemplateId)

    使用短信服务首先都需要创建短信模板提交审核,这样可以防止不法分子通过云服务商提供的短信服务实施短信诈骗。

  • 短信签名(SignName)

    短信末尾会附上签名以识别此条短信是由谁发送,这样可以令用户对短信来源有一个明确的印象。

  • 地域(RegionId)

    地域表示SMS的数据中心所在物理位置。可以根据费用、请求来源等选择合适的地域,一般是阿里云短信配置。

  • 访问密钥(AccessKey)

    AccessKey简称AK,指的是访问身份验证中用到的AccessKey ID和AccessKey Secret。SMS通过使用AccessKey ID和AccessKey Secret对称加密的方法来验证某个请求的发送者身份。AccessKey ID用于标识用户;AccessKey Secret是用户用于加密签名字符串和SMS用来验证签名字符串的密钥,必须保密。关于获取AccessKey的方法

目前BladeX提供的blade-starter-sms集成了四种sms,分别为:云片sms、阿里云sms、七牛sms、腾讯sms

功能测试

引入依赖:

<!--短信发送--><dependency> <groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alicloud-sms</artifactId>
</dependency>
sms:enabled: truename: aliyuntemplate-id: SMS_xxxxsign-name: xxxxxaccess-key: xxxxxxxsecret-key: xxxxxxxregion-id: cn-hangzhou

使用阿里云提供的Demo测试短信发送

public class SmsUtil {//替换成自己申请的accessKeyIdprivate static String accessKeyId = "xxx"; //替换成自己申请的accessKeySecretprivate static String accessKeySecret = "xxxxx";static final String product = "Dysmsapi";static final String domain = "dysmsapi.aliyuncs.com";/*** 发送短信** @param phoneNumbers 要发送短信到哪个手机号* @param signName     短信签名[必须使用前面申请的]* @param templateCode 短信短信模板ID[必须使用前面申请的]* @param param        模板中${code}位置传递的内容*/public static void sendSms(String phoneNumbers, String signName, String templateCode, String param) {try {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(phoneNumbers);request.setSignName(signName);request.setTemplateCode(templateCode);request.setTemplateParam(param);request.setOutId("yourOutId");SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);if (!"OK".equals(sendSmsResponse.getCode())) {throw new RuntimeException(sendSmsResponse.getMessage());}} catch (Exception e) {e.printStackTrace();throw new RuntimeException("发送短信失败");}}
}

相关文章:

  • 逐元素比较
  • CSS动画技术(css-animation)
  • 于ThinkPHP开发的赛事报名小程序
  • C语言游戏实战(12):植物大战僵尸(坤版)
  • git常见的18条指令
  • 前端开发工程师——ajax
  • 【贪心算法题目】
  • 简述MyBatis中#{}引用和${}引用的区别
  • 春秋云境CVE-2023-50564
  • 金丝雀发布(灰度发布)介绍 及 声明式管理方法简介
  • 全国智慧海洋与大数据技术应用行业产教融合共同体成立
  • 【IPD进阶】学习IPD流程,从黑话开始
  • Shell编程之条件判断语句
  • 为什么说kafka没办法保证数据不丢?
  • 如何解决爬虫的IP地址受限问题?
  • css系列之关于字体的事
  • Gradle 5.0 正式版发布
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • js学习笔记
  • Python - 闭包Closure
  • sublime配置文件
  • 阿里云购买磁盘后挂载
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 检测对象或数组
  • 前端_面试
  • 前端每日实战 2018 年 7 月份项目汇总(共 29 个项目)
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 微信开放平台全网发布【失败】的几点排查方法
  • 小程序button引导用户授权
  • 用mpvue开发微信小程序
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • #pragma multi_compile #pragma shader_feature
  • #考研#计算机文化知识1(局域网及网络互联)
  • #每日一题合集#牛客JZ23-JZ33
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • (MIT博士)林达华老师-概率模型与计算机视觉”
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (五)MySQL的备份及恢复
  • .NET 8.0 中有哪些新的变化?
  • .NET HttpWebRequest、WebClient、HttpClient
  • .NET 反射 Reflect
  • .Net多线程Threading相关详解
  • .NET建议使用的大小写命名原则
  • .NET企业级应用架构设计系列之开场白
  • @RunWith注解作用
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ IOS ] iOS-控制器View的创建和生命周期
  • [ 云计算 | AWS ] AI 编程助手新势力 Amazon CodeWhisperer:优势功能及实用技巧
  • [.net] 如何在mail的加入正文显示图片
  • [<事务专题>]
  • [10] CUDA程序性能的提升 与 流
  • [23] 4K4D: Real-Time 4D View Synthesis at 4K Resolution
  • [Angular] 笔记 7:模块