栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java实现腾讯云短信发送

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java实现腾讯云短信发送

引入依赖

        
            com.tencentcloudapi
            tencentcloud-sdk-java
            3.1.270
        

核心代码如下:

public class SendSmsUtil {

    @Value("${sms.appId}")
    private String appId;

    @Value("${sms.secretId}")
    private String secretId;

    @Value("${sms.secretKey}")
    private String secretKey;

    @Value("${sms.signName}")
    private String signName;

    @Value("${sms.templateId}")
    private String templateId;


    public String sendSmsUtil(String phone) {
        String code = RandomUtil.getRandomToNum(6);

        try {
            //实例化认证对象
            Credential credential = new Credential(secretId, secretKey);
            //创建http连接
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setReqMethod("POST");
            httpProfile.setConnTimeout(60);
            httpProfile.setEndpoint("sms.tencentcloudapi.com");

            //实例化客户端对象
            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setSignMethod("HmacSHA256");
            clientProfile.setHttpProfile(httpProfile);
            SmsClient client = new SmsClient(credential, "ap-guangzhou", clientProfile);

            //实例化一个请求对象,根据调用的接口和实际情况,可以进一步设置请求参数
            SendSmsRequest req = new SendSmsRequest();

        
            // 应用 ID 可前往 [短信控制台](https://console.cloud.tencent.com/smsv2/app-manage) 查看

            req.setSmsSdkAppId(appId);

            
            // 签名信息可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-sign) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-sign) 的签名管理查看
            req.setSignName(signName);

            
            // 模板 ID 可前往 [国内短信](https://console.cloud.tencent.com/smsv2/csms-template) 或 [国际/港澳台短信](https://console.cloud.tencent.com/smsv2/isms-template) 的正文模板管理查看
            req.setTemplateId(templateId);

            
            String[] templateParamSet = {code};
            req.setTemplateParamSet(templateParamSet);

            
            String[] phoneNumberSet = {"+86"+phone};
            req.setPhoneNumberSet(phoneNumberSet);

            
            String sessionContext = "";
            req.setSessionContext(sessionContext);

            
            String extendCode = "";
            req.setExtendCode(extendCode);

            
            String senderid = "";
            req.setSenderId(senderid);


            
            SendSmsResponse res = client.SendSms(req);

            // 输出json格式的字符串回包
            System.out.println(SendSmsResponse.toJsonString(res));
        } catch (TencentCloudSDKException e) {
            e.printStackTrace();
        }
        return code;
    }
}

一些参数自行去腾讯云查看即可

刚购买短信服务的时候,需要去短信控制台里面申请签名和短信模板,就可以得到signName和 templateId

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/821656.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号