一、项目中引入maven依赖
<!-- 升级版 SDK,阿里云短信服务 -->
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>dysmsapi20170525</artifactId>
<version>2.0.22</version>
</dependency>
二、在阿里云上申请内容
1. accessKeyId
2. accessKeySecret
(上边两个通过点头像-->accessKey管理 申请获取)
3. SMS(短信模板CODE,需要申请并审批通过)
4. signName(签名)
(上边三个需要在 短信服务-->国内消息-->签名管理、模板管理处申请)
5. template(短信模板变量对应的实际值)
发送信息内容示例:
【XXX公司】您的验证码是:${code},如非本人操作,请注意账号信息安全。
(1)签名对应:XXX公司
(2)模板对应:您的验证码是:${code},如非本人操作,请注意账号信息安全。
(3)短信模板变量对应的实际值:code
三、工具类
public class SendSortMsg {
public static com.aliyun.dysmsapi20170525.Client createClient(String accessKeyId, String accessKeySecret) throws Exception {
com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
//AccessKey ID
.setAccessKeyId(accessKeyId)
//AccessKey Secret
.setAccessKeySecret(accessKeySecret);
// 访问的域名
config.endpoint = "dysmsapi.aliyuncs.com";
return new com.aliyun.dysmsapi20170525.Client(config);
}
public static void send(String accessKeyId, String accessKeySecret, String SMS, String tels, String signName, String template) throws Exception {
com.aliyun.dysmsapi20170525.Client client = SendSortMsg.createClient(accessKeyId, accessKeySecret);
com.aliyun.dysmsapi20170525.models.SendSmsRequest sendSmsRequest = new com.aliyun.dysmsapi20170525.models.SendSmsRequest()
.setPhoneNumbers(tels) //手机号
.setTemplateCode(SMS) //短信模板CODE
.setTemplateParam(template) //短信模板变量对应的实际值
.setSignName(signName); //短信签名名称
SendSmsResponse sendSmsResponse = client.sendSms(sendSmsRequest);
System.out.println(sendSmsResponse.getBody());
}