JAVA实现《阿里云发送短信验证码以及短信通知》
Posted 你牛什么牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVA实现《阿里云发送短信验证码以及短信通知》相关的知识,希望对你有一定的参考价值。
前期准备工作:
进入阿里云控制台,在云计算基础服务下,找到短信服务
这里有相关参数ACCESSKEY、ACCESSSECRET、SIGNNAME
短信发送可以参考:https://help.aliyun.com/document_detail/55284.html?spm=5176.10629532.106.1.18a51cbeW7Uw5m
try {
System.setProperty("sun.net.client.defaultConnectTimeout", "10000");
System.setProperty("sun.net.client.defaultReadTimeout", "10000");
IClientProfile profile = DefaultProfile.getProfile(CodeUtil.REGIONID, CodeUtil.ACCESSKEY, CodeUtil.ACCESSSECRET);
DefaultProfile.addEndpoint(CodeUtil.REGIONID, CodeUtil.REGIONID, CodeUtil.PRODUCT, CodeUtil.DOMAIN);
IAcsClient acsClient = new DefaultAcsClient(profile);
//组装请求对象
SendSmsRequest request = new SendSmsRequest();
//使用post提交
request.setMethod(MethodType.POST);
//必填:待发送手机号。支持以逗号分隔的形式进行批量调用,批量上限为1000个手机号码,批量调用相对于单条调用及时性稍有延迟,验证码类型的短信推荐使用单条调用的方式
request.setPhoneNumbers("18810776666");
//必填:短信签名-可在短信控制台中找到
request.setSignName(CodeUtil.SIGNNAME);
//必填:短信模板-可在短信控制台中找到
request.setTemplateCode("code模版");
request.setTemplateParam("{\\"name\\":\\"Tom\\", \\"code\\":\\"123\\"}");
SendSmsResponse sendSmsResponse = acsClient.getAcsResponse(request);
if(sendSmsResponse.getCode() != null && sendSmsResponse.getCode().equals("OK")) {
//请求成功
}
}catch (ClientException e) {
CodeUtil 工具类
public class CodeUtil {
public static String REGIONID = "cn-hangzhou";//机房信息
public static String ACCESSKEY = "XXXXXXXXXXXXXXXXXXXXXXXX";
public static String ACCESSSECRET = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
public static String SIGNNAME = "工人屋";//签名名称
public static String PRODUCT = "Dysmsapi";//短信API产品名称
public static String DOMAIN = "dysmsapi.aliyuncs.com";//短信API产品域名
}
以上是关于JAVA实现《阿里云发送短信验证码以及短信通知》的主要内容,如果未能解决你的问题,请参考以下文章