阿里短信
1 开通业务
1.1 进入阿里云后台
1.2 开通服务
测试先 保证余额充足,通知,验证码等0.045元一条。
国内和港澳台是分开的。需单独配置签名,模板,收费等也不一样
2 阿里云后台配置
名称 | 示例 |
---|---|
短信签名 | 【阿里云】 |
短信模板 | 您正在申请手机注册,验证码为:${code},5分钟内有效! |
完整的短信=短信签名+短信模板 | 【阿里云】您正在申请手机注册,验证码为:${code},5分钟内有效! 说明 ${code}为模板变量。 |
2.1 申请签名
签名发送自带【】符号,无须添加【】、()、[]符号,避免重复
2.2 创建模板
2.3 AccessKey
AccessKey包括AccessKey ID和AccessKey Secret。
- AccessKey ID:用于标识用户。
- AccessKey Secret:用于验证用户的密钥。AccessKey Secret必须保密。
操作步骤
- 使用阿里云账号登录控制台。
- 将鼠标置于页面右上方的账号图标,单击AccessKey管理。
- 在安全提示对话框,选择使用阿里云账号AccessKey或RAM用户AccessKey。
3 信息说明
3.1 名词
名称 | 描述 |
---|---|
产品类型 | 国内消息:发送国内消息。 国际/港澳台消息:发送国际/港澳台消息。 说明 仅企业认证用户可以选择国际/港澳台消息。 |
签名 | 短信服务提供测试签名阿里云通信供您体验使用,您也可以单击马上添加签名,设置您的专属签名。签名必须通过审核才能使用,测试阶段建议您选择测试签名或已有的签名。更多信息,请参见添加签名(个人用户)或添加签名(企业用户)。 |
模板 | 短信服务提供测试模板阿里云通信测试模板供您体验使用,您也可以单击马上添加模板,设置您的专属模板。模板必须通过审核才能使用,测试阶段建议您选择一个已有的模板。更多信息,请参见添加国内短信模板或添加国际/港澳台短信模板(企业用户)。 |
变量详情 | 当选择的模板带有变量时会要求填写此项。更多信息,请参见变量规范。 |
接收号码 | 设置接收短信的电话号码,必须是正确的手机号码。 如需号码不受发送频率限制,可以单击号码白名单,将其加入白名单中。 |
查看API Demo | 单击查看API Demo跳转到OpenAPI Explorer,通过该平台直接调用发送接口发送短信。 |
效果展示 | 页面右侧实时显示短信的发送效果,并显示当前内容字数和短信条数。此功能仅作为内容预览,具体情况以实际发送为准。 |
3.2 公共请求参数
名称 | 类型 | 是否必填 | 说明 |
---|---|---|---|
Signature | String | 是 | 请求签名,即最终生成的签名结果值。 如何生成请求签名,请查看请求签名。 |
AccessKeyId | String | 是 | 访问密钥 ID。AccessKey 用于调用 API。 |
Action | String | 是 | API 的名称。 |
Format | String | 否 | 返回参数的语言类型。返回类型:json或xml。默认值:json。 |
RegionId | String | 否 | API支持的RegionID,如短信API的值为:cn-hangzhou。更多地域选项请参见开发者门户。 |
SignatureMethod | String | 是 | 签名方式。取值范围:HMAC-SHA1。 |
SignatureNonce | String | 是 | 签名唯一随机数。用于防止网络重放攻击,建议您每一次请求都使用不同的随机数。 Java语言建议用:java.util.UUID.randomUUID() 生成。 |
SignatureVersion | String | 是 | 签名算法版本。取值范围:1.0。 |
Timestamp | String | 是 | 请求的时间戳。按照ISO8601 标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。示例:2018-01-01T12:00:00Z 表示北京时间2018 年 01月01日20点00分00秒。 |
Version | String | 是 | API的版本号,格式为YYYY-MM-DD。取值范围:2017-05-25。 |
4 使用
4.1 maven依赖
# 最新地址 https://mvnrepository.com/artifact/com.aliyun/aliyun-java-sdk-core
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.16</version>
</dependency>
4.2 java 整合
4.2.1 配置
AliSmsConfig.java 配置
package com.jdxx.sms;
/**
* @description: 阿里短信配置
* @author: hgl
* @date: 2021-09-15 19:39
*/
public interface AliSmsConfig {
/********************************************* 阿里常量配置,勿改 ***************************************/
/**
* 短信API产品名称(短信产品名固定,无需修改)
*/
String PRODUCT = "Dysmsapi";
/**
* 短信API产品域名(接口地址固定,无需修改)
*/
String DOMAIN = "dysmsapi.aliyuncs.com";
/************************************************ 1 阿里云秘钥配置 ***********************************************/
String ACCESSKEY_ID = "";
/**
* 你的accessKeySecret,参考本文档步骤2
*/
String ACCESSKEY_SECRET = "";
/*********************************************** 2 业务配置 签名 模板 ***********************************************/
/**
* 签名 -申请 通过的
*/
String SIGN_NAME = "";
/**
* 模板 code
*/
String TEMPLATE_CODE_ = "";
}
4.2.2 封装阿里API
AliSmsApi.java 阿里API