阿里云短信服务

1.开通服务准备

1.登录阿里云,找到aliyun短信服务网页

阿里云短信服务_java

2.进入控制台

阿里云短信服务_java_02

3.如果使用短信单条计费的话,需要先充值。

阿里云短信服务_System_03

4.添加签名

阿里云短信服务_System_04

5.添加模板

阿里云短信服务_System_05

6.可以使用常用模板

阿里云短信服务_System_06

7.获取四个重要信息

1.签名名称,也就是刚添加签名的名称

2.模板code:也就是刚添加模板的模板code

3.AccessKeyID

4.AccessKeySecret

阿里云短信服务_java_07

阿里云短信服务_阿里云短信服务_08

2.学习如何使用

1.点击开发者指南

阿里云短信服务_java_09

2.点击左侧的java sdk安装,导入相应的依赖

阿里云短信服务_java_10

<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.1.0</version>
</dependency>

3.点击OpenApi Explorer 查看示例代码

阿里云短信服务_System_11


4.填写相应的参数进行生成示例代码

阿里云短信服务_java_12

import com.aliyuncs.CommonRequest;
import com.aliyuncs.CommonResponse;
import com.aliyuncs.DefaultAcsClient;
import com.aliyuncs.IAcsClient;
import com.aliyuncs.exceptions.ClientException;
import com.aliyuncs.exceptions.ServerException;
import com.aliyuncs.http.MethodType;
import com.aliyuncs.profile.DefaultProfile;
/*
pom.xml
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.0.3</version>
</dependency>
*/
public class CommonRpc {
public static void main(String[] args) {
DefaultProfile profile = DefaultProfile.getProfile("default", "<accessKeyId>", "<accessSecret>");
IAcsClient client = new DefaultAcsClient(profile);

CommonRequest request = new CommonRequest();
//request.setProtocol(ProtocolType.HTTPS);
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("SendSms");
request.putQueryParameter("PhoneNumbers", "13852554643");
request.putQueryParameter("SignName", "test");
request.putQueryParameter("TemplateCode", "test_123");
request.putQueryParameter("TemplateParam", "123456");
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}

需要特别注意:TemplateParam 参数的书写格式:

阿里云短信服务_System_13

阿里云短信服务_System_14

aliyun短信服务工具类:

/**
* @ClassName SmsUtil
* @Author ouYang
* @Date 2019/5/19 13:48
* @Description aliyun短信业务
* @Version 2.0
*/
@Component
public class SmsUtil {

@Autowired
private Environment environment;

public CommonResponse sendSms(
String mobile,
String templateCode,
String signName,
String params ){

String accessKeyID = environment.getProperty("aliyun.sms.accessKeyID");
String accessKeySecret = environment.getProperty("aliyun.sms.accessKeySecret");

DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyID, accessKeySecret);
IAcsClient client = new DefaultAcsClient(profile);
CommonRequest request = new CommonRequest();
//request.setProtocol(ProtocolType.HTTPS);
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com");
request.setVersion("2017-05-25");
request.setAction("SendSms");
request.putQueryParameter("PhoneNumbers", mobile);
request.putQueryParameter("TemplateCode", templateCode);
request.putQueryParameter("SignName", signName);
request.putQueryParameter("TemplateParam", params);
CommonResponse response = null;
try {
response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
return response;
}

}