我是使用的腾讯云平台的短信
引入maven依赖
<!--腾讯云短息息服务-->
<dependency>
<groupId>com.github.qcloudsms</groupId>
<artifactId>qcloudsms</artifactId>
<version>1.0.6</version>
</dependency>
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>qiniu-java-sdk</artifactId>
<version>7.2.19</version>
</dependency>
工具类代码
import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import com.github.qcloudsms.httpclient.HTTPException;
import org.json.JSONException;
import org.springframework.stereotype.Component;
import java.io.IOException;
//手机短信方式
@Component
public class SMSMessageUtil {
//在腾讯云申请的SDKAppID SDK AppID是短信应用的唯一标识,调用短信API接口时,需要提供该参数。
private Integer appIdCode = 00000000;
//App Key是用来校验短信发送合法性的密码,与SDK AppID对应,需要业务方高度保密,切勿把密码存储在客户端。
private String appKeyCode = "应用的key";
//短信签名,在签名管理列表中,使用需要的签名中文
private String smsSign = "签名名称";
//创建的短信模板的id
private Integer templateIdCode = 00000000;
// 验证码发送
public void sendCodeMessage(String phoneNumber,String[] params) {
SmsSingleSender ssender = new SmsSingleSender(appIdCode,appKeyCode);
String errMsg = sendMethod(ssender, phoneNumber, templateIdCode, params, smsSign);
System.out.println("发送结果:"+ errMsg);
}
private String sendMethod(SmsSingleSender ssender,String phoneNumber,Integer templateId,String[] params,String smsSign_ ){
String errMsg = "";
try {
// 签名参数未提供或者为空时,会使用默认签名发送短信
SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber, templateId, params, smsSign_, "", "");
errMsg = result.errMsg;
} catch (HTTPException e) {
// HTTP 响应码错误
e.printStackTrace();
} catch (JSONException e) {
// JSON 解析错误
e.printStackTrace();
} catch (IOException e) {
// 网络 IO 错误
e.printStackTrace();
}
return errMsg;
}
}
版权声明:本文为weixin_43607664原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。