package com.ujiol.common.util;
import com.yunpian.sdk.YunpianClient;
import com.yunpian.sdk.model.Result;
import com.yunpian.sdk.model.SmsSingleSend;
import java.util.Map;
/**
* 短信工具集
*
*/
public class SmsUtils {
/**
* 云片网API_KEY
*/
private static final String API_KEY = "*********************";
/**
* 验证码短信内容模板
*/
private static final String CAPTCHA_TEXT_TEMPLATE = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
/**
* 短信发送
*
* @param mobile 手机号
* @param text 内容模板
*/
public static boolean send(String mobile, String text) {
// 初始化clnt,使用单例方式
YunpianClient clnt = new YunpianClient(API_KEY).init();
// 发送短信API
Map<String, String> param = clnt.newParam(2);
param.put(YunpianClient.MOBILE, mobile);
param.put(YunpianClient.TEXT, text);
Result<SmsSingleSend> r = clnt.sms().single_send(param);
// 获取返回结果,返回码:r.getCode(),返回码描述:r.getMsg(),API结果:r.getData(),其他说明:r.getDetail(),调用异常:r.getThrowable()
// 账户:clnt.user().* 签名:clnt.sign().* 模版:clnt.tpl().* 短信:clnt.sms().* 语音:clnt.voice().* 流量:clnt.flow().* 隐私通话:clnt.call().*
// 释放clnt
clnt.close();
System.out.println(r);
return r.getCode().equals(0) ? true : false;
}
/**
* 生成验证码短信内容
*
* @param captcha 验证码
* @return
*/
public static String buildCaptchaText(String captcha) {
return CAPTCHA_TEXT_TEMPLATE.replace("#code#", captcha);
}
}
如果send方法jar包报错或者冲突
public static String batchSend(String apikey, String text, String mobile) {
Map<String, String> params = new HashMap<String, String>();//请求参数集合
params.put("apikey", apikey);
params.put("text", text);
params.put("mobile", mobile);
return post("https://sms.yunpian.com/v2/sms/batch_send.json", params);//请自行使用post方式请求,可使用Apache HttpClient
}