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();
        }
    }

}

  

测试结果如下:

 

 

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

Tags: