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

本文涉及的产品
国际/港澳台短信套餐包,全球plus 100条 6个月
短信服务,200条 3个月
短信服务,100条 3个月
简介: 阿里云短信服务详细说明与实战开发后端代码

1.短信服务背景

目前在很多项目中都出现使用短信验证码来实现注册、登录、购买、支付、转账等功能,发短信功能几乎已经成为项目中不可或缺的技术之一。

2.短信发送流程

短信平台与运营商之间协同合作,利益分成。

短信发送流程通常涉及以下步骤:

  1. Java程序调用短信平台提供的API接口,将短信内容、接收手机号等参数发送给短信平台。
  2. 短信平台接收到请求后,进行身份验证和参数校验,验证通过后将短信内容提交给运营商的短信网关。
  3. 运营商的短信网关接收到短信内容后,进行短信内容的编码和协议转换,将短信内容转换为符合运营商要求的协议格式。
  4. 短信网关将短信发送到接收方手机所在的基站,再由基站转发到手机上。
  5. 接收方手机接收到短信后进行解码和显示。

需要注意的是,由于短信平台和运营商之间的协议和接口是不透明的,因此在实际使用中,需要根据具体的短信平台和运营商提供的文档和接口规范来实现短信发送功能。同时,也需要根据运营商的要求和规定进行短信内容的审核和审核通过后的定时发送等操作。

3.阿里云短信服务基本说明

这里只针对于国内短信验证码进行说明。

3.1 开通阿里云短信服务与购买短信套餐包

开通服务是免费的,短信套餐包可购买也可选择试用。

🏠 新用户试用地址:阿里云通信产品免费试用 (aliyun.com)

🏠 普通用户购买地址:短信服务_企业短信营销推广_验证码通知-阿里云 (aliyun.com)

3.2 短信服务帮助文档

🏠 短信服务 (aliyun.com)

3.3 手机短信模板介绍

3.3.1 基本说明

短信模版内容是由国家工信部制定,模版内容必须得有国家工信部进行审核,短信模版包含两部分:

  1. 短信签名:【XXXX】,例如:【逐浪教育】
  2. 短信正文,例如 “您正在进行登录校验,验证码为 ${code} ,该验证码5分钟内有效,请勿泄露于他人。”

3.3.2 公共内容规范

🏠 公共内容规范 (aliyun.com)

3.3.3 验证码模板规范

🍀 内容规范

  • 国内短信模板必须包含“验证码、注册码、校验码、动态码(动态密码)”中的任意一个。
  • 模板必须体现和说明“使用平台、用途、失效时间”中的任意一种。
  • 为提升发送成功率,建议在模板中去除退订方式、与验证码无关的电话号码等信息。

🍀 变量规范

  • 验证码模板的变量属性建议选择仅数字
  • 验证码模板仅支持添加一个变量。
  • 自定义测试类模板仅支持数字变量。
  • 变量长度限制为4~6个字符,仅数字、数字+字母组合或仅字母,例如:12CDE。

3.3.4 短信签名规范

🏠 短信签名规范 (aliyun.com)

说明几个重要通知:

  • 签名名称不区分大小写字母,如【Aliyun通信】和【aliyun通信】视为名称相同。
  • 国内短信签名暂不支持繁体字;不支持中文、英文以外的其它语言。
  • 短信签名来源如果选择了公众号或小程序,暂不支持以个人名义认证的小程序或公众号。
  • 短信签名来源如果选择了测试或学习,发送会有限制,指的是不能申请带变量的通知模板,不能申请推广模板,且只能给绑定的手机号发送短信。

3.3.5 验证码模板示例

您可以参考下表示例,并根据实际业务需求创建符合规范的短信模板。

应用场景 模板示例
登录/验证 您的验证码${code},该验证码5分钟内有效,请勿泄漏于他人!
您的验证码:${code},您正进行身份验证,打死不告诉别人!
验证码为:${code},您正在登录,若非本人操作,请勿泄露。
注册 您正在申请手机注册,验证码为:${code},5分钟内有效!
尊敬的用户,您的注册会员动态密码为:${code},请勿泄漏于他人!
您的注册码:${code},如非本人操作,请忽略本短信!
您的校验码:${code},您正在注册成为会员,感谢您的支持!
验证码为:${code},您正在注册成为平台会员,感谢您的支持!
重置密码 您的动态码为:${code},您正在进行密码重置操作,如非本人操作,请忽略本短信!
变更信息 验证码为:${code},您正在尝试变更重要信息,请妥善保管账户信息。

3.4 国内短信服务定价

3.4.1 按量付费

根据短信的发送条数和短信模板类型进行实时梯度计费。即实时计费,自动跨档,跨档后当月所有发送量按新阶梯价重新计算。

  • 若用户当月验证码短信+通知短信使用量为N条,N>300万,则当月费用=N * 0.036。
  • 若用户当月推广短信使用量为N条,50万<N≤100万,则当月费用=N * 0.048。

3.4.2 国内短信套餐包

  • 为了降低用户的使用成本,阿里云短信服务提供国内短信套餐包,支持发送验证码短信通知推广短信三种类型。个人认证用户仅可使用验证码、短信通知,不可使用推广短信。您可以升级为企业认证用户体验相关功能。更多信息,请参见使用须知
  • 国内短信套餐包仅可用于国内文本短信服务,不可用于国际/港澳台短信服务。
  • 如果购买了套餐包,使用短信服务时优先抵用套餐包中的数量,超出部分自动按量付费。
  • 购买套餐包之前产生的短信发送量,自动按量付费。
  • 套餐包在账户欠费时不可使用,已使用套餐包剩余资源不支持退订或延期。其它退款内容,请参见退款说明

套餐包的具体计费,请参见国内通用短信套餐包

3.5 短信发送规则

3.5.1 国内短信内容长度计算规则

**短信长度(字数)=短信签名字数+短信模板内容字数。**其中,短信模板字数上限为500字。

  • 简体中文、字母、数字、标点符号(不区分全角和半角),都按照一个字计算。

为避免与签名混淆,在模板内容任意位置均不能使用【】,在模板内容首尾不能使用[ ]。

  • 短信长度不超过70个字,按照一条短信计费;超过70个字,即为长短信,按照67字/条拆分成多条计费。
  • 📝 示例:短信长度为160个字,按照67字、67字、26字分隔成三条短信进行计费。

3.5.2 短信发送频率限制

在实际业务场景中,例如App或网站登录时,可能会有用户频繁获取短信验证码或者通过短信通知方式找回密码的操作。为了限制平台短信被恶意调用、在短时间内大量发起短信发送请求,阿里云对短信发送验证码的行为进行了流控限制。

  • 使用同一个签名,默认情况下对同一个手机号码发送验证码,最多支持1条/分钟,5条/小时,10条/天。仅企业认证用户可设置验证码短信发送频率。具体操作指引,请参见设置短信发送频率和频率限制白名单
  • 企业用户通过阿里云短信服务平台对同一个手机号码发送验证码,最多支持40条/天。此天级流控限制是针对手机号码这一维度进行的,即使短信发送方有多个,只要发送方使用阿里云短信服务平台,同一个手机号码一天只能接收40条验证码。

4.用户与用户组权限管理

4.1 进入管理控制台

4.2 创建用户组


相关文章
|
8天前
|
API
阿里云短信服务文档与实际API不符
阿里云短信服务文档与实际API不符
|
1月前
|
数据采集 监控 安全
阿里云短信服务+图形认证,有效降低验证码盗刷概率
阿里云短信服务+图形认证服务,有效降低验证码盗刷概率。
166 3
阿里云短信服务+图形认证,有效降低验证码盗刷概率
|
16天前
|
机器学习/深度学习 PyTorch 算法框架/工具
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
【10月更文挑战第1天】深度学习中,模型微调虽能提升性能,但常导致“灾难性遗忘”,即模型在新任务上训练后遗忘旧知识。本文介绍弹性权重巩固(EWC)方法,通过在损失函数中加入正则项来惩罚对重要参数的更改,从而缓解此问题。提供了一个基于PyTorch的实现示例,展示如何在训练过程中引入EWC损失,适用于终身学习和在线学习等场景。
36 4
揭秘深度学习中的微调难题:如何运用弹性权重巩固(EWC)策略巧妙应对灾难性遗忘,附带实战代码详解助你轻松掌握技巧
|
9天前
|
jenkins Java 测试技术
如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例详细说明
【10月更文挑战第8天】本文介绍了如何使用 Jenkins 自动发布 Java 代码,通过一个电商公司后端服务的实际案例,详细说明了从 Jenkins 安装配置到自动构建、测试和部署的全流程。文中还提供了一个 Jenkinsfile 示例,并分享了实践经验,强调了版本控制、自动化测试等关键点的重要性。
21 5
|
18天前
|
前端开发 Java
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
文章介绍了如何使用SpringBoot创建简单的后端服务器来处理HTTP请求,包括建立连接、编写Controller处理请求,并返回响应给前端或网址。
37 0
学习SpringMVC,建立连接,请求,响应 SpringBoot初学,如何前后端交互(后端版)?最简单的能通过网址访问的后端服务器代码举例
|
2天前
|
存储 数据管理 API
零代码能力:轻松搞定表单和API接口,少写80%后端代码,内含资源
小白接口(果创云 YesApi.cn)是一个零代码和低代码开发平台,提供一站式后端云服务,帮助开发者、学生、业余爱好者、工作室、中小企业及无IT技术人员的传统企业快速搭建应用、接口、服务和网站。平台提供500+免费API接口,支持在线API开发、在线表单、数据库管理、图片文件存储、会员管理等功能,无需后端开发经验,轻松实现数据处理和应用开发。
|
1月前
|
SQL JSON Java
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
本文为Spring Boot增删改查接口的小白入门教程,介绍了项目的构建、配置YML文件、代码编写(包括实体类、Mapper接口、Mapper.xml、Service和Controller)以及使用Postman进行接口测试的方法。同时提供了SQL代码和完整代码的下载链接。
springboot 如何编写增删改查后端接口,小白极速入门,附完整代码
|
1月前
|
存储 NoSQL Java
|
1月前
|
存储 关系型数据库 API
后端开发的艺术:从代码到云部署
在数字时代的浪潮中,后端开发如同一位默默无闻的艺术家,用代码绘制着互联网世界的底层画卷。本文将带你领略后端开发的奥秘,从基础的代码编写到复杂的云部署,每一步都是对技术深度与广度的挑战。我们将一起探索如何在变化莫测的技术海洋中找到自己的北极星,确保项目的成功和职业生涯的发展。无论你是初学者还是资深开发者,这篇文章都将为你提供新的视角和实用的技巧,让你的后端之旅更加精彩。
33 2
|
10天前
|
缓存 Java 数据库
后端技术探索:从基础架构到高效开发的实践之路
【10月更文挑战第7天】 在现代软件开发中,后端技术是支撑应用运行的核心。本文将探讨如何从后端的基础架构出发,通过一系列高效的开发实践,提升系统的性能与可靠性。我们将深入分析后端框架的选择、数据库设计、接口开发等关键领域,并提供实用的代码示例和优化策略,帮助开发者构建更稳定、高效的后端系统。通过这篇文章,读者将获得关于后端开发的全面理解和实践指导,从而更好地应对复杂项目需求。
35 0