首先申请一个腾讯云的账户,登陆后访问以下网址
https://console.cloud.tencent/sms
新建一个应用
查看SDK AppID和App Key
设置常量 SMSContentUtil中常量皆由腾讯云中申请
服务类代码
package com.util;
import com.github.qcloudsms.*;
import com.github.qcloudsms.httpclient.HTTPException;
import org.json.JSONException;
import java.io.IOException;
/**
* 短信服务类
* 2018-05-16
*/
public class SMSService {
/**
* 自定义短信内容发送
* @param msg 短信内容
* @param number 用户手机号
* @return OK 成功 null 失败
*/
public static String sendMess(String msg , String number){
try {
SmsSingleSender ssender = new SmsSingleSender(SMSContentUtil.APPID, SMSContentUtil.APPKEY);
SmsSingleSenderResult result = ssender.send(0, "86", number,
msg, "", "");
System.out.print(result);
return result.errMsg;
} catch (HTTPException e) {
// HTTP响应码错误
e.printStackTrace();
} catch (JSONException e) {
// json解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络IO错误
e.printStackTrace();
}
return null;
}
/**
* 指定模板ID发送短信
* @param number 用户手机号
* @return OK 成功 null 失败
*/
public static String sendMesModel(String number){
try {
String[] params = {"hello" , "1" };//{参数}
SmsSingleSender ssender = new SmsSingleSender(SMSContentUtil.APPID, SMSContentUtil.APPKEY);
SmsSingleSenderResult result = ssender.sendWithParam("86", number,
SMSContentUtil.TTEMPLATEID, params, SMSContentUtil.SMSSIGN, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
System.out.print(result);
return result.errMsg;//OK
} catch (HTTPException e) {
// HTTP响应码错误
e.printStackTrace();
} catch (JSONException e) {
// json解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络IO错误
e.printStackTrace();
}
return null;
}
/**
* 群发自定义短信
* @param msg 短信内容
* @param numbers 用户手机号数组
* @return OK 成功 null 失败
*/
public static String sendMesModel(String msg , String[] numbers){
try {
SmsMultiSender msender = new SmsMultiSender(SMSContentUtil.APPID, SMSContentUtil.APPKEY);
SmsMultiSenderResult result = msender.send(0, "86", numbers,
msg, "", "");
System.out.print(result);
return result.errMsg;
} catch (HTTPException e) {
// HTTP响应码错误
e.printStackTrace();
} catch (JSONException e) {
// json解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络IO错误
e.printStackTrace();
}
return null;
}
/**
* 指定模板ID群发
* @param numbers 用户手机号数组
* @return OK 成功 null 失败
*/
public static String sendMesModel(String[] numbers){
try {
String[] params = {"hello" , "1" };
SmsMultiSender msender = new SmsMultiSender(SMSContentUtil.APPID, SMSContentUtil.APPKEY);
SmsMultiSenderResult result = msender.sendWithParam("86", numbers,
SMSContentUtil.TTEMPLATEID, params, SMSContentUtil.SMSSIGN, "", ""); // 签名参数未提供或者为空时,会使用默认签名发送短信
System.out.print(result);
return result.errMsg;
} catch (HTTPException e) {
// HTTP响应码错误
e.printStackTrace();
} catch (JSONException e) {
// json解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络IO错误
e.printStackTrace();
}
return null;
}
/**
* 发送语音消息
* @param number 用户手机号
* @param msg 语音消息内容
* @return OK 成功 null 失败
*/
public static String sendMesVoice(String msg , String number){
try {
SmsVoiceVerifyCodeSender vvcsender = new SmsVoiceVerifyCodeSender(SMSContentUtil.APPID, SMSContentUtil.APPKEY);
SmsVoiceVerifyCodeSenderResult result = vvcsender.send("86",number,
msg, 2, "");
System.out.print(result);
return result.errMsg;
} catch (HTTPException e) {
// HTTP响应码错误
e.printStackTrace();
} catch (JSONException e) {
// json解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络IO错误
e.printStackTrace();
}
return null;
}
}
更多推荐
java 集成腾讯云发送短信
发布评论