仲宇航

阿里云短信服务-java模版CODE

阿里云短信服务从头到尾流程java版本

       短信服务通常是找第三方作为主要的发送手段(除了大佬),而这些第三方大多数都是来来回回最后找你要钱,可能不要钱的我没发现,但是阿里云这个配置比较通俗易懂吧,虽然也要钱,但是0.04一条,作为测试开发用一点也不贵吧(但也有套餐)。

  主要流程为  注册签名   -->  注册模板--->  获取模板-->下载对应的sdk--->替换模板中的数据

   阿里云申请方面主要包括   签名名称,模板,AccessKey(AccessKey ID,Access Key Secret)

 例如 饿了吗,您的注册码为1234  这里面饿了吗就是签名,您的注册码就是{code}这个是模板。

1 注册方面

这个不说了吧,阿里云账号都有吧,短信开通服务也是免费开通的

但是要说明一点,就是短信服务和短信验证码不一样的

1.1注册签名

签名注册其实挺麻烦吧(最麻烦的)分为两种签名    注意的是要和模板类型相互对应

1 验证码签名(只有验证码)!! 未上线产品只能申请验证码  

2 通用签名 (包括通知,验证码,推广短信,港澳台)这个需要需要上交很多材料,也可以试试选择微信公众号内个,可以不用上交材料(但是大概率审核不过),最好上线后在申请这个。

因为时间原因,我就选择验证码服务,名称尽量起的正常一样,之前申请了5 6次,不断改名,最后才成功

1.2模板注册

模板注册相对签名容易一些相比签名来说,这个比较容易一些,!!!但是之前模板申请的类型是签名类型要和模板类型对应,这里模板类型为验证码类型

1.3 AccessKey

AccessKey包括主要为AccesskeyId 和 Access Key Sercret 这个很容易了,短信验证码发送就可以找到了,在个人头像中能够的accesskey管理就可以找到了

2 sdk方面

sdk方面支持很多语言的sdk的,我这里使用是java 

链接如下

https://help.aliyun.com/document_detail/112148.html?spm=a2c4g.11186623.2.12.15ec50a4Jd0cIw

2.1 jar包下载

我的开发工具是eclipse,除了直接下载的阿里的sdk 的jar包,还需要配套的gson的jar包,如果没有会报错

java的sdk和gson对应的jar包  https://github.com/zyhQAQ/gson.git

2.2 具体代码

具体代码如下,调用方法就可以发送了  !注意联网

package com.zyh.util;

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;

public class SendSmsByPhone {
    
        private String AccessKeyId = "";//对应的accesskeyid
        private String AccessKeySecret = "";//对应的accesskeysecret
        
    public void sendmessage(String phone){  //传入手机号,一次调用支持发送一个手机号验证码
        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("RegionId", "cn-hangzhou");
        request.putQueryParameter("PhoneNumbers", phone);//手机号
        request.putQueryParameter("SignName", "往事如风");//签名名称
       
        request.putQueryParameter("TemplateCode", "SMS_180956392");//模板code
        request.putQueryParameter("TemplateParam","{\"code\":\"1234\"}");//这个里面填写验证码内容
        try {
            CommonResponse response = client.getCommonResponse(request);
            System.out.println(response.getData());
        } catch (ServerException e) {
            e.printStackTrace();
        } catch (ClientException e) {
            e.printStackTrace();
        }
    }
    
}

 

posted on 2020-01-02 10:25  长心人  阅读(1556)  评论(0编辑  收藏  举报

导航