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

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

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 创建用户组


相关文章
|
26天前
|
前端开发 小程序 Java
uniapp上传图片 前端以及java后端代码实现
uniapp上传图片 前端以及java后端代码实现
38 0
|
2月前
|
JSON 前端开发 Java
layui上传图片,前端直接拷代码,后端……
layui上传图片,前端直接拷代码,后端……
35 0
|
3月前
|
云安全 安全 API
阿里云——OpenAPI使用——短信服务
阿里云——OpenAPI使用——短信服务
162 0
|
3月前
|
人工智能 监控 Cloud Native
阿里云参编业内首个代码大模型标准丨云原生 2024 年 1 月产品技术动态
阿里云参编业内首个代码大模型标准丨云原生 2024 年 1 月产品技术动态
|
2月前
|
弹性计算 前端开发 小程序
微信小程序上传文件至阿里云OSS直传(java后端签名+前端直传)
当前的通用文件上传方式是通过前端上传到服务器,再由服务器转存至对象存储。这种方式在处理小文件时效率尚可,但大文件上传因受限于服务器带宽,速度较慢。例如,一个100MB的文件在5Mbps带宽的阿里云ECS上上传至服务器需160秒。为解决此问题,可以采用后端签名的方式,使微信小程序直接上传文件到阿里云OSS,绕过服务器中转。具体操作包括在JAVA后端引入相关依赖,生成签名,并在微信小程序前端使用这个签名进行文件上传,注意设置正确的请求头和formData参数。这样能提高大文件上传的速度。
|
4天前
|
人工智能 自然语言处理 IDE
如何让阿里云AI001号员工帮我写代码(含IDEA插件使用)
AI 智能时代,将改变所有人的思维方式,学习方式,更注重人的创造力和思考力,如果你懒,你将会被 AI 替代,如果你只想干简单不用动脑的活,你将会被 AI 替代,如果你只会打螺丝,更会被 AI 替代。当下的 AI 人工智能时代,被认为是第四次工业革命的到来,我们更应该看到的是机会,而非跳进焦虑、困惑、悲观的一群人潮中。
|
4天前
|
SQL DataWorks Java
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
18 1
DataWorks操作报错合集之在阿里云 DataWorks 中,代码在开发测试阶段能够成功运行,但在提交后失败并报错“不支持https”如何解决
|
5天前
|
弹性计算 JSON 运维
Serverless 应用引擎产品使用之阿里云serverless的s deploy,本地的代码编译后的镜像无法推送上去如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
18 0
|
3月前
|
存储 监控 安全
阿里云云通信短信服务安全之安全架构
阿里云云通信长期致力于通过多种渠道向客户透明服务相关情况。客户一般可通过阿里云官网提出对阿里云云通信相关资质、服务使用情况、产品说明等信息,我们将7*24小时不间断处理您的建议与咨询。对于客户合理的要求,阿里云云通信服务团队均会及时响应客户的需求。同时,阿里云云通信也在探索更多增加透明度的方式,如对公邮箱、线上查询接口、钉钉服务客户群等。
|
3月前
|
运维 监控 安全
阿里云云通信短信服务安全之安全责任共担与安全合规
阿里云云通信长久以来致力于为客户提供稳定可靠、安全可信、合法合规的通信服务,利用先进技术、建立产品体系、严格管理人员等不同手段以保护客户及合作伙伴数据的机密性、完整性、可用性,以数据安全、用户隐私保护作为阿里云云通信的最高准则。