<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.6.2</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>2.2.1</version>
</dependency>
1.登录阿里云官网 https://www.aliyun.com/?utm_content=se_1014243503
2.创建AccessKey,获取accessKeyId、accessKeySecret
accessKeySecret,在第一次申请到AccessKey后会生成,请妥善保管,系统中无法再次查看
3.进入短信服务>>>国内消息
4.申请签名以及自定义消息模板
签名名称:一般最好为应用名称、网站名称、工作名称
填写完成后>>>提交,一般为1~2小时内就可以审核通过。
签名审核通过后,申请短信通知模板(模板管理)
注: 关联签名选择刚才申请的签名,填写完毕后则可以提交,等待审核通过后,则可以获取到TemplateCode
准备工作到此就结束了,需要填入accessKeySecret、accessKeyId、signName、templateCode等信息,首先,DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret)
创建了一个IClientProfile
对象。其中,"cn-hangzhou"是指定要访问的阿里云区域,accessKeyId
和accessKeySecret
是你的阿里云账号的AccessKey ID和AccessKey Secret,用于身份认证。 然后,DefaultAcsClient client = new DefaultAcsClient(profile)
创建了一个DefaultAcsClient
对象,使用前面创建的IClientProfile
对象进行初始化。 通过创建好的client
对象,你可以使用阿里云SDK提供的各种服务接口进行相应的操作,例如发送短信、上传文件等。具体的使用方法可以参考阿里云SDK的文档或示例代码
public AjaxJson sendMessage(@Param("phoneNumber") String phoneNumber){
String accessKeyId = "your_accessKeyId";
String accessKeySecret = "your_accessKeySecret";
IClientProfile profile = DefaultProfile.getProfile("cn-hangzhou", accessKeyId, accessKeySecret);
DefaultAcsClient client = new DefaultAcsClient(profile);
AjaxJson ajaxJson = new AjaxJson();
SendSmsRequest request = new SendSmsRequest();
request.setPhoneNumbers(phoneNumber);
request.setSignName("signName");
request.setTemplateCode("templateCode");
Random random = new Random();
int randomNumber = random.nextInt(900000) + 100000;
request.setTemplateParam("{\"code\":\""+randomNumber+"\"}");
SendSmsResponse response = new SendSmsResponse();
try {
response = client.getAcsResponse(request);
System.out.println("短信发送成功,短信ID:" + response.getBizId());
} catch (Exception e) {
ajaxJson.setSuccess(false);
ajaxJson.setMsg("短信发送成功,短信ID:" + e.getMessage());
System.out.println("短信发送失败:" + e.getMessage());
return ajaxJson;
}
ajaxJson.setSuccess(true);
ajaxJson.setMsg("短信发送成功,短信ID:" + response.getBizId());
return ajaxJson;
}