本人使用的第三方为 阿里大于,代码其实不用看也行,毕竟人家官网有demo,随便写写玩。蹭个流量。
public static void send(String phone ,String noteVerify) throws ApiException {
TaobaoClient client = new DefaultTaobaoClient(NoteConfig.getServerUrl(),
NoteConfig.getAppKey(), NoteConfig.getAppSecret());
AlibabaAliqinFcSmsNumSendRequest req = new AlibabaAliqinFcSmsNumSendRequest();
req.setExtend(""); //公共回传参数(可选)
req.setSmsType(NoteConfig.getSmsType()); //短信类型,传入值请填写normal
req.setRecNum(phone); //短信接收号码(必选)
req.setSmsFreeSignName(NoteConfig.getSignName()); // 短信签名,传入的短信签名必须是在阿里大于“管理中心-验证码/短信通知/推广短信-配置短信签名”中的可用签名
req.setSmsParamString("{\"product\":'"+phone+"',\"code\": '" + noteVerify + "' }"); //短信模板变量,传参规则{"key":"value"},key的名字须和申请模板中的变量名一致,多个变量之间以逗号隔开
req.setSmsTemplateCode(NoteConfig.getTemplateId()); //短信模板ID,传入的模板必须是在阿里大于“管理中心-短信模板管理”中的可用模板.
AlibabaAliqinFcSmsNumSendResponse rsp = client.execute(req);
log.info("短信回馈信息: "+rsp.getBody());
}
配置文件
package com.nroad.config;
import org.apache.commons.configuration.Configuration;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.stereotype.Component;
/**
* Created by Administrator on 2017/5/19.
*/
@Component
public class NoteConfig {
private static Log log = LogFactory.getLog(NoteConfig.class);
private static Configuration configs;
private static String serverUrl;
private static String appKey;
private static String appSecret;
private static String smsType;
private static String signName;
private static String templateId;
static {
NoteConfig.init("noteinfo.properties");
}
private NoteConfig() {
}
private static synchronized void init(String filePath){
if (configs == null){
try {
configs = new PropertiesConfiguration(filePath);
} catch (ConfigurationException var2) {
var2.printStackTrace();
}
}
if (configs == null) {
throw new IllegalStateException("can`t find file by path:" + filePath);
} else {
serverUrl = configs.getString("serverUrl");
appKey = configs.getString("appKey");
appSecret = configs.getString("appSecret");
smsType = configs.getString("smsType");
signName = configs.getString("signName");
templateId = configs.getString("templateId");
log.info("短信发送配置如下: ");
log.info("配置文件名: " + filePath);
log.info(description());
}
}
private static String description() {
StringBuilder sb =new StringBuilder("Configs{");
sb.append("服务端路由: ").append(serverUrl).append("\n");
sb.append("appidKey: ").append(appKey).append("\n");
sb.append("appSecret: ").append(appSecret).append("\n");
sb.append("smsType: ").append(smsType).append("\n");
sb.append("signName: ").append(signName).append("\n");
sb.append("templateId: ").append(templateId).append("\n");
sb.append("}");
return sb.toString();
}
}