阿里云短信服务
1.开通服务准备
1.登录阿里云,找到aliyun短信服务网页
2.进入控制台
3.如果使用短信单条计费的话,需要先充值。
4.添加签名
5.添加模板
6.可以使用常用模板
7.获取四个重要信息
1.签名名称,也就是刚添加签名的名称
2.模板code:也就是刚添加模板的模板code
3.AccessKeyID
4.AccessKeySecret
2.学习如何使用
1.点击开发者指南
2.点击左侧的java sdk安装,导入相应的依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.1.0</version>
</dependency>
3.点击OpenApi Explorer 查看示例代码
4.填写相应的参数进行生成示例代码
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 参数的书写格式:
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;
}
}