来到腾讯云首页

腾讯云

在搜索栏搜索短信服务

短信模板怎么做 springboot springboot发送短信验证码_腾讯云


点击免费试用 新用户会有100条的免费额度

短信模板怎么做 springboot springboot发送短信验证码_spring boot_02


根据提示创建应用即可

短信模板怎么做 springboot springboot发送短信验证码_短信模板怎么做 springboot_03

应用创建完毕需要申请签名和模板

短信模板怎么做 springboot springboot发送短信验证码_spring boot_04


提交签名进行审核 审核通过才可以使用

短信模板怎么做 springboot springboot发送短信验证码_二维码_05

创建短信模板 就是你要发送的内容

短信模板怎么做 springboot springboot发送短信验证码_腾讯云_06


审核通过即可使用

短信模板怎么做 springboot springboot发送短信验证码_二维码_07


查看自己的appid和key 一会需要复制到我们的代码中

短信模板怎么做 springboot springboot发送短信验证码_腾讯云_08

导入pom依赖

<dependency>
        <groupId>com.tencentcloudapi</groupId>
        <artifactId>tencentcloud-sdk-java</artifactId>
        <version>3.1.270</version><!-- 注:这里只是示例版本号(可直接使用),可获取并替换为 最新的版本号,注意不要使用4.0.x版本(非最新版本) -->
    </dependency>

编写properties配置文件 配置需要用到的参数

#签名参数使用的是`签名内容`
tx.sms.smsSign=你在短信服务中申请的签名内容

#短信模板 ID,需要在短信应用中申请
tx.sms.templateId=你在短信服务中申请的魔板ID
#短信应用 SDK AppID
tx.sms.appid=你的AppID

#短信应用 SDK AppKey
tx.sms.appkey=你的AppKey

编写Utils工具类

@Component
public class MsmUtils {
    // 短信应用 SDK AppID
    @Value("${tx.sms.appid}")
    private Integer appid; // SDK AppID 以1400开头
    // 短信应用 SDK AppKey
    @Value("${tx.sms.appkey}")
    private String appkey
    // 短信模板 ID,需要在短信应用中申请
    @Value("${tx.sms.templateId}")
    private Integer templateId; // NOTE: 这里的模板 ID`7839`只是示例,真实的模板 ID 需要在短信控制台中申请
    // 签名
    @Value("${tx.sms.smsSign}")
    private String smsSign; // NOTE: 签名参数使用的是`签名内容`,而不是`签名ID`。这里的签名"腾讯云"只是示例,真实的签名需要在短信控制台申请

   
    //方法参数是要接收短信的手机号, 第二个是你申请的短信魔板需要的参数集合
    public void sendSMS(String phone, ArrayList<String> params) {
        try {
            SmsSingleSender ssender = new SmsSingleSender(appid, appkey);
            SmsSingleSenderResult result = ssender.sendWithParam("86", phone, templateId, params, smsSign, "", "");
            System.out.println(result);
        } catch (HTTPException e) {
            // HTTP 响应码错误
            e.printStackTrace();
        } catch (JSONException e) {
            // JSON 解析错误
            e.printStackTrace();
        } catch (IOException e) {
            // 网络 IO 错误
            e.printStackTrace();
        }
    }
}

调用测试即可

短信模板怎么做 springboot springboot发送短信验证码_腾讯云_09


我这里的参数为code 和 3 code对应我随机生成的二维码 3是二维码的有效期 参数顺序与个数与你自己创建的模板内容有关

例如我的模板为这样所以这么传递参数

短信模板怎么做 springboot springboot发送短信验证码_spring boot_10


注意

这里有个雷大家注意一下 properties配置文件的编码类型如果与我们常用编码不一致将会签名乱码 乱码会导致发送失败 本人亲自踩坑 大家避雷