阿里云短信服务需要的数据
- 账号key:accessKeyId
- 账号secret:secret
- 短信模板code:templateCode
- 签名:signName
注:若您已经拿到这些数据可直接看大标题【四、五】,前面的【一、二、三】是获取这些数据的流程
一、开通短信服务
注:首先开通阿里云账号,在首页鼠标悬浮在【产品→企业服务与云通信→短信服务】,根据提示开通短信服务
二、提交短信审核
1.在首页搜索框搜索【短信服务】
2.在搜索出来的短信服务中点击【控制台】
3.进入控制台后,点击左侧【国内消息】,依次提交审核【资质管理→签名管理→模板管理】
4.审核完成后,可以拿到【签名:signName】和【短信模板code:templateCode】
① 签名获取位置【签名管理→签名名称】
② 短信模板code获取位置【模板管理→模板CODE】
三、创建子账号生成key和secret
1.鼠标悬浮在右上角头像处,点击【AccessKey】
2.点击后会有一个弹窗,点击【使用RAM用户AccessKey】
注:根据自己的需要,若只是自己用直接创建就可以了,若是企业使用简易使用RAM用户进行操作
3.首先点击【创建用户】,根据提示创建完成后,点击【添加权限】
4.在搜索框搜索【短信服务】,添加短信服务管理权限并进行保存
5.在用户列表找到添加权限的用户,点击用户,在弹出的页面中点击【创建AccessKey】
注:创建完成后一定要将生成的【secret】进行保存
到此,需要准备的数据就准备完成了
四、在JAVA项目中添加阿里云短信服务相关依赖
注:可以根据自己的需要调整依赖版本
<!--阿里云短信服务-->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.0</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>2.1.0</version>
</dependency>
五、发送短信示例代码
注:代码仅供参考,我这里模拟的是一个发送验证码的短信,模板变量要求传一个JSON串,我这里为了方便直接拼了一个,具体怎么写看您自己的需要
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.profile.DefaultProfile;
import org.springframework.stereotype.Service;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest;
import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse;
/**
* @program:
* @create: 2025-07-18 11:41
*/
@Service
public class SmsBusiness {
public void sendSms(){
// 设置AccessKeyId、AccessKeySecret等信息
String accessKeyId = "LLLLLLLLLLLLLLLLLLLLLLLL";
String accessKeySecret = "LLLLLLLLLLLLLLLLLLLLLLLLLLLLLL";
// 创建DefaultAcsClient实例并初始化
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
// 创建并设置请求
SendSmsRequest request = new SendSmsRequest();
request.setPhoneNumbers("18333333333"); // 必填: 要发送到的手机号码
request.setSignName("枫叶"); // 必填: 已经在阿里云上注册的短信签名
request.setTemplateCode("SMS_000000000"); // 必填: 已经在阿里云上注册的短信模板CODE
request.setTemplateParam("{\"code\":\"123456\"}"); // 非必填: 短信模板的变量参数,若没有变量可空
try {
// 发送短信并打印结果
SendSmsResponse response = client.getAcsResponse(request);
} catch (ClientException e) {
e.printStackTrace();
}
}
}
有什么问题记得多多评论,一起讨论
祝看到最后的朋友,前程似锦!!!