阿里云短信使用步骤及代码模板【很遗憾现在个人无法申请短信功能了】 - Go语言中文社区

阿里云短信使用步骤及代码模板【很遗憾现在个人无法申请短信功能了】


发送短信需要填写以下4个参数:签名、模板code、秘钥id、秘钥内容

阿里云短信使用步骤:

《1》点击进入阿里云免费试用 , 然后登陆账号

《2》 如图选择短信0元试用 (已经领取过的,直接走第三步即可。)

《3》点击进入阿里云短信官网 , 登陆状态下点击免费开通 (已开通的文字会替换为控制台 , 点击效果一样)

《4》选择国内消息

《5》创建短信签名

《6》在模板管理中创建短信模板

《7》创建子账户秘钥

鼠标移至右上角账户名称 选择accesskeys

选择开始使用子用户AccessKey

输入登陆名称和显示名称, 选择编程访问

复制得到的accessKeyId和 AccessKeySecret 留待后续使用

用户登录名称 kuaidi@1211017112125226.onaliyun.com
AccessKey ID LTAI5tRK8vFDnEijSRxNyDEs
AccessKey Secret ZIIW2Gt71FU8l48JyCIe4gzXmMYESe

选择创建的子账户 ,点击添加权限

选择相应的权限, 并点击确定添加

《8》回到国内短信页面 , 复制审核成功的短信签名名称 以及 短信模板ID

《9》完成上述步骤后, 已经得到了四个关键性参数

  1. 短信签名名称 : 快递驿站中心

  2. 短信模板CODE : SMS_213693660

  3. accessKeyId:LTAI5tRK8vFDnEijSRxNyDEs

  4. AccessKeySecret: ZIIW2Gt71FU8l48JyCIe4gzXmMYESe

《9》下载jar文件 , 并引入到项目中

《10》将上述参数, 复制到如下代码中。 并通过JSON方式顺序填充每一个短信模板中到参数

public static boolean send(String phoneNumber,String code) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "秘钥id", "秘钥值");
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        request.setSysDomain("dysmsapi.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", "手机号");
        request.putQueryParameter("SignName", "签名名称");
        request.putQueryParameter("TemplateCode", "短信模板code");
        request.putQueryParameter("TemplateParam", "填充的参数(JSON对象格式)");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
            String json = response.getData();
            Gson g = new Gson();
            HashMap result = g.fromJson(json, HashMap.class);
            if("OK".equals(result.get("Message"))) {
                return true;
            }else{
                System.out.println("短信发送失败,原因:"+result.get("Message"));
            }
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
        return false;
    }
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 com.google.gson.Gson;

import java.util.HashMap;
import java.util.Random;

public class SMSDemo {
    public static void main(String[] args) {
        Random r = new Random();
        int num=r.nextInt(900000)+100000;//100000-999999
        send("18751902567",num+"");//发送短信
    }
    public static boolean send(String phoneNumber,String code) {
        DefaultProfile profile = DefaultProfile.getProfile("cn-hangzhou", "LTAI5tRK8vFDnEijSRxNyDEs", "ZIIW2Gt71FU8l48JyCIe4gzXmMYESe");
        IAcsClient client = new DefaultAcsClient(profile);

        CommonRequest request = new CommonRequest();
        request.setSysMethod(MethodType.POST);
        request.setSysDomain("dysmsapi.aliyuncs.com");
        request.setSysVersion("2017-05-25");
        request.setSysAction("SendSms");
        request.putQueryParameter("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", phoneNumber);
        request.putQueryParameter("SignName", " 快递驿站中心");
        request.putQueryParameter("TemplateCode", "SMS_213693660");
        request.putQueryParameter("TemplateParam", "{"code":"“+code+”"}");
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
            String json = response.getData();
            Gson g = new Gson();
            HashMap result = g.fromJson(json, HashMap.class);
            if("OK".equals(result.get("Message"))) {
                return true;
            }else{
                System.out.println("短信发送失败,原因:"+result.get("Message"));
            }
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
        return false;
    }
}

现在个人已经无法申请短信功能,需要提供已上线app名称等条件。

 

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/qq_40454863/article/details/115336810
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2021-05-31 12:20:40
  • 阅读 ( 1686 )
  • 分类:职场

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢