之前跟着狂神学习sms发送短信
今天拿出来用发现。。。依赖版本冲突,用的新版的依赖,旧的方法直接无法调用了,于是自己去看了看官方文档。废话不多说,直接贴代码
对了,开通服务教程
package com.ruben.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.http.MethodType; import com.aliyuncs.profile.DefaultProfile;
import java.util.HashMap; import java.util.Map;
public class SmsUtil { public static boolean SendSms(String phoneNum, String template, String code) { DefaultProfile profile = DefaultProfile.getProfile( "cn-hangzhou", "<你的accessKeyId>", "<你的accessSecret>"); 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", phoneNum); request.putQueryParameter("SignName", "<你的短信签名>"); request.putQueryParameter("TemplateCode", template); Map<String, Object> map = new HashMap<>(); map.put("code", code); request.putQueryParameter("TemplateParam", JSONObject.toJSONString(map)); try { CommonResponse response = client.getCommonResponse(request); System.out.println(response.getData()); map = JSONObject.parseObject(response.getData()); System.out.println(map); code = (String) map.get("Code"); if (!"OK".equals(code)) { return false; } } catch (ClientException e) { e.printStackTrace(); return false; } return true; }
public static void main(String[] args) { boolean isSuccess = SendSms("<接收的电话号码>", "<短信模板>", "<验证码>"); System.out.println(isSuccess); } }
|