Java整合腾讯云发送短信实战Demo

发布于:2024-08-03 ⋅ 阅读:(53) ⋅ 点赞:(0)

简介

在现代应用开发中,短信服务是非常重要的功能之一。它可以用于用户验证、通知等各种场景。本文将介绍如何使用Java整合腾讯云短信服务,并提供一个完整的实战示例代码。

环境准备

在开始之前,确保你已经完成以下准备工作:

  1. 注册并登录腾讯云官网。
  2. 开通短信服务。
  3. 获取腾讯云的 SecretIdSecretKey
  4. 获取短信应用的 AppID、短信签名 SignName 和短信模板 TemplateID

引入依赖

首先,在项目的 pom.xml 文件中引入腾讯云短信服务的依赖:

<dependency>
    <groupId>com.tencentcloudapi</groupId>
    <artifactId>tencentcloud-sdk-java</artifactId>
    <version>3.1.693</version>
</dependency>

编写工具类

接下来,创建一个工具类 TencentSmsUtils 用于发送短信:

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.sms.v20210111.SmsClient;
import com.tencentcloudapi.sms.v20210111.models.SendSmsRequest;
import com.tencentcloudapi.sms.v20210111.models.SendSmsResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

/**
 * 腾讯云短信工具类
 */
@Slf4j
@Component
public class TencentSmsUtils {

    public static void sendSms(String phoneNumber, String[] message) {
        try {
            // 实例化一个认证对象,入参需要传入腾讯云账户secretId,secretKey
            Credential cred = new Credential("你的SecretId", "你的SecretKey");

            // TODO 完整版代码请前往: https://yixian123.com/1105.html 复制

            // 发送请求并返回结果
            SendSmsResponse resp = client.SendSms(req);

            // 输出请求结果
            log.info("Tencent短信结果: {}", SendSmsResponse.toJsonString(resp));

        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        TencentSmsUtils sender = new TencentSmsUtils();
        String[] msg = {"参数1", "参数2", "参数3"};
        sender.sendSms("收件人的手机号", msg);
    }
}

代码说明

  1. 认证对象的创建:使用 Credential 类创建认证对象,并传入你的 SecretIdSecretKey
  2. 客户端配置:创建 HttpProfileClientProfile,设置短信服务的访问端点。
  3. 请求对象的创建和参数设置:使用 SendSmsRequest 类创建请求对象,并设置必要的参数如手机号码、模板ID、签名、AppID等。
  4. 发送请求:使用 SmsClientSendSms 方法发送请求,并处理返回的响应。

运行示例

将上述代码复制到你的Java项目中,并运行 main 方法,即可发送短信。确保填入正确的 SecretIdSecretKey、AppID、模板ID和签名。

完整版代码请前往复制: Java整合腾讯云发送短信实战Demo