java 阿里云短信发送
记录自己的足迹,学习的路很长,一直在走着呢~
第一步登录阿里云的控制台,找到此处:

点击之后就到此页面,如果发现账号有异常或者泄露什么,可以禁用或者删除 AccessKey:

此处方便测试,所以就新建了一个新的用户组,添加相对应的权限。


用户也是一样,这里的用户加入用户组就会拥有等同的权限了


接下来要去阿里云的短信页面如下:


到了这个首页 ,自己可以大致浏览一下 帮助文档,这样会加快你了解。
点击国内消息,我们首先添加签名,再添加模板


签名添加之后,再添加模板


等审核到通过之后, 审核一般十分钟左右就过了,如果填写的很标准,审核通过的时间很更快,在等审核通过的时间里 我们可以先点开帮助文档,找到SDK参考,如下:

或者在使用示例中:


在我们的项目中添加依赖:

接下来我们进行测试一下:
package com.sms;
import com.alibaba.fastjson.JSONObject;
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;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.HashMap;
import java.util.Map;
@SpringBootTest
class SmsApplicationTests {
@Test
void contextLoads() {
//链接阿里云
DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "你的AccessKeyID", "你的AccessKeySecret");
IAcsClient client = new DefaultAcsClient(profile);
//构建请求
CommonRequest request = new CommonRequest();
request.setMethod(MethodType.POST);
request.setDomain("dysmsapi.aliyuncs.com"); //不用动
request.setVersion("2017-05-25"); //不用动
request.setAction("SendSms"); //
//自定义的参数(手机号,验证码,签名,模板)
request.putQueryParameter("PhoneNumbers", "手机号码");
request.putQueryParameter("SignName", "你的签名名称");
request.putQueryParameter("TemplateCode", "对应的模版CODE");
//构建一个短信的验证
Map<String , Object> map = new HashMap<>();
map.put("code",1124); //这里因为是测试 所以写死了
System.out.println(JSONObject.toJSONString(map));
request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map)); //这里需要转成字符串形式
try {
CommonResponse response = client.getCommonResponse(request);
System.out.println(response.getData());
} catch (ServerException e) {
e.printStackTrace();
} catch (ClientException e) {
e.printStackTrace();
}
}
}
测试结果如下:

到这里就结束了,此随笔只是记录自己的学习过程而已,随笔有什么出错的地方或者漏洞欢迎指出,谢谢。

浙公网安备 33010602011771号