腾讯云短信服务

634 阅读1分钟

发送短信工具类:

package com.xz.worker.util;


import com.github.qcloudsms.SmsSingleSender;
import com.github.qcloudsms.SmsSingleSenderResult;
import org.json.JSONException;

import javax.xml.ws.http.HTTPException;
import java.io.IOException;
import java.util.Random;

/**
 * @author zagwk
 * @version 1.0
 * @date 2020/7/25 0025 14:00
 */
public class SMSUtil {

    //短信应用SDKAppId
    private int appid = 111111111;
    // 短信应用SDKAppKey
    private String appkey = "ajdhfa546afe654fa";

    // 短信模板ID,需要在短信应用中申请
    private int templateId = 456489;

    // 签名
    // NOTE:真实的签名需要在短信控制台中申请,另外签名参数使用的是`签名内容`,而不是`签名ID`
    private String smsSign = "xxxxx";


    /**
     *     * 发送短信验证码
     *     *
     *     * @paramtel 电话号码
     *     * @paramverifyCode 验证码
     *     * @return
     *    
     */
    public String sendCaptcha(String tel, String verifyCode) {
        try {
            // 需要发送短信的手机号码
            String phoneNumber = tel;

            // 单发短信
            // SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
            // SmsSingleSenderResult result = ssender.send(0, "86", phoneNumber, "您正在注册成为好学堂用户,您的验证码为:" + verifyCode + ",请在10分钟内完成验证,感谢您的支持!", "", "");

            // 指定模板ID单发短信
            String[] params = {verifyCode};
            SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
            SmsSingleSenderResult result = ssender.sendWithParam("86", phoneNumber, templateId, params, smsSign, "", "");
            //返回验证码
            return verifyCode;
            // 签名参数未提供或者为空时,会使用默认签名发送短信
            // System.out.print(result);

        } catch (HTTPException e) {
            // HTTP响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // json解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络IO错误
            e.printStackTrace();
        }catch (com.github.qcloudsms.httpclient.HTTPException e){
            e.printStackTrace();
        }
        return null;
    }


}
腾讯云控制台:
https://console.cloud.tencent.com/


短信应用SDKAppId

短信应用SDKAppKey

短信模板ID,需要在短信应用中申请

签名参数使用的是`签名内容`,而不是`签名ID`