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(); } } }
测试结果如下:
到这里就结束了,此随笔只是记录自己的学习过程而已,随笔有什么出错的地方或者漏洞欢迎指出,谢谢。