用阿里云短信服务--发送短信demo

一. AccessKey管理

内容包括:开启子用户AccessKey,创建用户组,给用户组添加sms短信服务权限,创建用户,添加用户到用户组中。

详细操作:

登录阿里云,点击控制台右上角的头像,点击AccessKey 管理,拿到阿里云AccessKey

用阿里云短信服务--发送短信demo_第1张图片

弹出安全提示,点击 开始使用子用户AccessKey

用阿里云短信服务--发送短信demo_第2张图片

进入RAM 访问控制,新建用户组和用户

用阿里云短信服务--发送短信demo_第3张图片

用阿里云短信服务--发送短信demo_第4张图片

 

添加用户

用阿里云短信服务--发送短信demo_第5张图片

填写登录名称和显示名称,勾选编程访问(一定要勾选,不然没法通过API编程发送短信

用阿里云短信服务--发送短信demo_第6张图片

点击用户组名称

用阿里云短信服务--发送短信demo_第7张图片

点击组员管理,添加组员,将刚才创建的用户添加到用户组中 

用阿里云短信服务--发送短信demo_第8张图片

用阿里云短信服务--发送短信demo_第9张图片

用阿里云短信服务--发送短信demo_第10张图片

进入人员管理-->用户-->认证管理-->用户AccessKey-->点击创建AccessKey

用阿里云短信服务--发送短信demo_第11张图片

弹出AccessKey Secret(密码),点击下载CSV文件或复制,保存好密码,

密码不要泄露给其他人,如果发现泄露,点击上图的禁用或删除相关的AccessKey。

用阿里云短信服务--发送短信demo_第12张图片

 

二、开通阿里云短信服务

内容:开通短信服务、充值、添加短信模板、添加签名

控制台搜索短信服务-->点击箭头指向的短信服务

用阿里云短信服务--发送短信demo_第13张图片

用阿里云短信服务--发送短信demo_第14张图片

开通后,可以点击快速学习和帮助文档学习。

 

添加短信模板

用阿里云短信服务--发送短信demo_第15张图片

提交后,进入审核中状态,等待审核通过(等待几分钟,刷新页面),关注模板CODE一列的值,后面将用到

用阿里云短信服务--发送短信demo_第16张图片

添加签名

用阿里云短信服务--发送短信demo_第17张图片

然后等待审核通过(需要等待几分钟) 

用阿里云短信服务--发送短信demo_第18张图片

 

在发短信之前,需要先充值,点击费用-->充值,根据短信资费(0.045元/条),充值一定的金额。

用阿里云短信服务--发送短信demo_第19张图片

用阿里云短信服务--发送短信demo_第20张图片

 

三、使用Java代码发送短信

环境:IDEA、JDK1.8、maven3.3.9、Sparingboot2.2.7

打开IDEA,File-->New-->Project-->Empty Project,新建出一个空的工程

用阿里云短信服务--发送短信demo_第21张图片

给空的工程添加Spring Boot模块

File-->New-->Module-->Spring Initializr

用阿里云短信服务--发送短信demo_第22张图片

next-->next-->添加Web模块

用阿里云短信服务--发送短信demo_第23张图片

至finish,确保module模块添加到空工程中。

打开短信服务控制台-->SDK参考-->安装Java SDK-->添加Maven依赖

添加pom.xml

添加aliyun-java-sdk-core用于发送短信,

为了方便构建数据,再添加fastjson

        
            com.aliyun
            aliyun-java-sdk-core
            4.1.0
        
        
            com.alibaba
            fastjson
            1.2.62
        

 

点击快速学习,选择如下箭头指向的信息,点击查看API demo

用阿里云短信服务--发送短信demo_第24张图片 看到如下图代码界面用阿里云短信服务--发送短信demo_第25张图片

复制上方Java代码到DemoApplicationTests.java类中,代码作适当的修改如下:

用阿里云短信服务--发送短信demo_第26张图片

代码如下:

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;

@SpringBootTest
class DemoApplicationTests {

    @Test
    void contextLoads() {
        //连接阿里云
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "", "");//accessKeyId和accessSecret要替换成第一步申请到的值
        
        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", "1xxxx");//替要发送到的手机号码
        request.putQueryParameter("SignName", "老梁说java");//短信签名
        request.putQueryParameter("TemplateCode", "SMS_189762676");//短信模板号
        //构建一个短信验证码
        HashMap map = new HashMap();
        map.put("code",112233);
        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();
        }
    }

}

注意:以下几点要注意修改

1.accessKeyId和accessSecret要替换成第一步申请到的值 

2.("PhoneNumbers", "1xxxx");//替要发送到的手机号码

3.("SignName", "老梁说java");//短信签名

4.("TemplateCode", "SMS_189762676");//短信模板号

 

单元测试运行contextLoads()方法后就可以发送短信了。

收到的短信效果如下:

用阿里云短信服务--发送短信demo_第27张图片

 

完成!enjoy it!

 

你可能感兴趣的:(短信)