一、申请阿里云短信签名模板
1.1 申请短信签名
1. 登录阿里云,搜索短信服务
2. 在短信服务模块点击短信控制台
3. 然后再左边的选项卡点击快速学习和测试,点击申请签名
4. 填写相关信息,点击提交
5. 然后点击国内消息选项卡就可以看到你申请的签名和审核状态,审核通过之后才能使用,一般需要等待两个小时左右
6. 等待审核通过之后的签名就可以使用签名了
1.2 申请短信模板
1. 选择快速学习和测试选项卡,点击申请模板
2. 填写相关信息,最后点击添加按钮
3. 添加之后就可以查看我们申请的模板了,点击国内消息选项卡中的模板管理进行查看,刚添加完是审核中的状态,等通过之后就可以使用了
1.3 添加测试手机号码
二、使用SpringBoot进行整合
2.1 导入依赖
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.16</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-dysmsapi</artifactId>
<version>2.1.0</version>
</dependency>
2.2 添加配置
aliyun:
sms:
signName: # 短信签名
templateCode: # 短信模板CODE
accessKeyId: # ak id
secret: # ak secret
2.3 编写发送短信的类
@Component
public class SMS {
@Value("${aliyun.sms.signName}")
private String signName;
@Value("${aliyun.sms.templateCode}")
private String templateCode;
@Value("${aliyun.sms.accessKeyId}")
private String accessKeyId;
@Value("${aliyun.sms.secret}")
private String secret;
/**
* 发送短信
* @param phoneNumbers 手机号
* @param code 验证码
*/
public void sendMessage(String phoneNumbers,String code){
//default 地域节点,默认就好; 后面是 阿里云的 id和秘钥
DefaultProfile profile = DefaultProfile.getProfile("default", accessKeyId,secret);
IAcsClient client = new DefaultAcsClient(profile);
//这里不能修改
CommonRequest request = new CommonRequest();
request.setSysMethod(MethodType.POST);
request.setSysDomain("dysmsapi.aliyuncs.com"); //短信服务的服务接入地址
request.setSysVersion("2017-05-25"); //API的版本号
request.setSysAction("SendSms"); //API的名称
request.putQueryParameter("PhoneNumbers", phoneNumbers); //接收短信的手机号码
request.putQueryParameter("SignName", signName);// 短信签名名称
request.putQueryParameter("TemplateCode", templateCode);// 短信模板Code,注意这个模板要和签名对应
request.putQueryParameter("TemplateParam", "{\"code\":\""+code+"\"}"); //短信模板变量对应的实际值
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (Exception e) {
e.printStackTrace();
}
}
}
最后我们就可以调用sendMessage方法来发送短信了~~~~