目录

  • 学习目标:
  • 学习内容:
  • 学习时间:
  • 学习过程:
    • demo结构图:
    • 效果图:
  • 配置准备:
    • 依赖pom.xml
    • application.properties:
    • application.yml
    • 腾讯云模板:(html)
    • java程序:
    • service:
    • serviceImpl:(核心代码)

学习目标:

  • 使用腾讯云模板发送短信验证码

学习内容:

内容:

  1. 首先导入下面的配置信息
  2. .修改yml中的配置信息为自己的邮件信息
  3. 修改mailServiceImpl中的发送人和接受人邮箱
  4. 我们在controller中发起请求就可以发送邮箱了

学习时间:

时间:

  • 2022.10.8

学习过程:

demo结构图:

效果图:

配置准备:

依赖pom.xml

<dependencies><!--thymeleaf--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency><dependency><groupId>ognl</groupId><artifactId>ognl</artifactId><version>3.1.26</version></dependency><!-- 邮箱验证--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-mail</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

application.properties:

# 应用名称
spring.application.name=thymeleaf_01_helloword
# THYMELEAF (ThymeleafAutoConfiguration)
# 开启模板缓存(默认值: true )
spring.thymeleaf.cache=false
# 检查模板是否存在,然后再呈现
spring.thymeleaf.check-template=true
# 检查模板位置是否正确(默认值 :true )
spring.thymeleaf.check-template-location=true
#Content-Type 的值(默认值: text/html )
spring.thymeleaf.content-type=text/html
# 开启 MVC Thymeleaf 视图解析(默认值: true )
spring.thymeleaf.enabled=true
# 模板编码
spring.thymeleaf.encoding=UTF-8
# 要被排除在解析之外的视图名称列表,⽤逗号分隔
spring.thymeleaf.excluded-view-names=
# 要运⽤于模板之上的模板模式。另⻅ StandardTemplate-ModeHandlers( 默认值: HTML5)
spring.thymeleaf.mode=HTML5
# 在构建 URL 时添加到视图名称前的前缀(默认值: classpath:/templates/ )
spring.thymeleaf.prefix=classpath:/templates/
# 在构建 URL 时添加到视图名称后的后缀(默认值: .html )
spring.thymeleaf.suffix=.html

application.yml

server:port: 8080
spring:mail:# SMTP服务器host: smtp.qq.com# 发送验证码邮箱username: 2181063167@qq.com# 授权码password: xxhciyihgkmxxxx# 编码default-encoding: utf-8port: 587# 配置SSL 加密工厂properties:mail:smtp:socketFactoryClass: javax.net.ssl.SSLSocketFactory#表示开启 DEBUG 模式,这样,邮件发送过程的日志会在控制台打印出来,方便排查错误debug: true

腾讯云模板:(html)

template.html

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body><div><includetail><div align="center"><div class="open_email" style="margin-left: 8px; margin-top: 8px; margin-bottom: 8px; margin-right: 8px;"><div><br><span class="genEmailContent"><div id="cTMail-Wrap"style="word-break: break-all;box-sizing:border-box;text-align:center;min-width:320px; max-width:660px; border:1px solid #f6f6f6; background-color:#f7f8fa; margin:auto; padding:20px 0 30px; font-family:'helvetica neue',PingFangSC-Light,arial,'hiragino sans gb','microsoft yahei ui','microsoft yahei',simsun,sans-serif"><div class="main-content" style=""><table style="width:100%;font-weight:300;margin-bottom:10px;border-collapse:collapse"><tbody><tr style="font-weight:300"><td style="width:3%;max-width:30px;"></td><td style="max-width:600px;"><!--  LOGO  --><div id="cTMail-logo" style="width:92px; height:25px;"><!--替换跳转链接  --><a href=""><!--替换LOGO图片--><img border="0" src="https://imgcache.qq.com/open_proj/proj_qcloud_v2/mc_2014/cdn/css/img/mail/logo-pc.png"style="width:92px; height:25px;display:block"></a></div><!--页面上边的蓝色分割线--><p style="height:2px;background-color: #00a4ff;border: 0;font-size:0;padding:0;width:100%;margin-top:20px;"></p><div id="cTMail-inner" style="background-color:#fff; padding:23px 0 20px;box-shadow: 0px 1px 1px 0px rgba(122, 55, 55, 0.2);text-align:left;"><table style="width:100%;font-weight:300;margin-bottom:10px;border-collapse:collapse;text-align:left;"><tbody><!-- 第一个单元格--><tr style="font-weight:300"><!--左侧表格,设置左边距用的--><td style="width:3.2%;max-width:30px;"></td><!--中间表格,正文使用--><td style="max-width:480px;text-align:left;"><!-- 以下是正文可以是标题--><h1 id="cTMail-title" style="font-size: 20px; line-height: 36px; margin: 0px 0px 22px;">【本当迷服务平台】欢迎注册VIP服务</h1><p id="cTMail-userName" style="font-size:14px;color:#333; line-height:24px; margin:0;">尊敬的VIP用户,您好!</p><p class="cTMail-content" style="line-height: 24px; margin: 6px 0px 0px; overflow-wrap: break-word; word-break: break-all;"><span style="color: rgb(51, 51, 51); font-size: 14px;">欢迎注册VIP服务,登录验证码为 。<span th:text="${code}"></span></span></p><p class="cTMail-content" style="line-height: 24px; margin: 6px 0px 0px; overflow-wrap: break-word; word-break: break-all;"><span style="color: rgb(51, 51, 51); font-size: 14px;">完成注册,请点击下面按钮验证邮箱。<span style="font-weight: bold;">非本人操作可忽略。</span></span></p><!--按钮--><p class="cTMail-content"style="font-size: 14px; color: rgb(51, 51, 51); line-height: 24px; margin: 6px 0px 0px; word-wrap: break-word; word-break: break-all;"><!--下面替换成自己的链接  --><a id="cTMail-btn" href="https://www.bdmcom.cn" title="本当迷博客"style="font-size: 16px; line-height: 45px; display: block; background-color: rgb(0, 164, 255); color: rgb(255, 255, 255); text-align: center; text-decoration: none; margin-top: 20px; border-radius: 3px;">点击此处验证邮箱</a></p><p class="cTMail-content" style="line-height: 24px; margin: 6px 0px 0px; overflow-wrap: break-word; word-break: break-all;"><span style="color: rgb(51, 51, 51); font-size: 14px;"><br>无法正常显示?请复制以下链接至浏览器打开:<br><a href="" title=""style="color: rgb(0, 164, 255); text-decoration: none; word-break: break-all; overflow-wrap: normal; font-size: 14px;">这里是激活账号的链接</a></span></p><!--来个署名--><dl style="font-size: 14px; color: rgb(51, 51, 51); line-height: 18px;"><dd style="margin: 0px 0px 6px; padding: 0px; font-size: 12px; line-height: 22px;"><p id="cTMail-sender" style="font-size: 14px; line-height: 26px; word-wrap: break-word; word-break: break-all; margin-top: 32px;">此致<br><strong>本当迷服务团队</strong></p></dd></dl></td><!--右侧表格,设置右边距用的  --><td style="width:3.2%;max-width:30px;"></td></tr></tbody></table></div><!--页面底部的推广 --><div id="cTMail-copy" style="text-align:center; font-size:12px; line-height:18px; color:#999"><table style="width:100%;font-weight:300;margin-bottom:10px;border-collapse:collapse"><tbody><tr style="font-weight:300"><!-- 左,左边距--><td style="width:3.2%;max-width:30px;"></td><!--中,正文 --><td style="max-width:540px;"><p style="text-align:center; margin:20px auto 14px auto;font-size:12px;color:#999;">此为系统邮件,请勿回复。可以加个链接  <a href=""style="text-decoration:none;word-break:break-all;word-wrap:normal; color: #333;" target="_blank">取消订阅</a></p>可以加个图片,公众号二维码之类的  <p id="cTMail-rights" style="max-width: 100%; margin:auto;font-size:12px;color:#999;text-align:center;line-height:22px;"><img border="0" src="http://imgcache.qq.com/open_proj/proj_qcloud_v2/tools/edm/css/img/wechat-qrcode-2x.jpg"style="width:64px; height:64px; margin:0 auto;"><br>关注服务号,移动管理云资源<br><img src="https://imgcache.qq.com/open_proj/proj_qcloud_v2/gateway/mail/cr.svg" style="margin-top: 10px;"></p></td><!--右,右边距 --><td style="width:3.2%;max-width:30px;"></td></tr></tbody></table></div></td><td style="width:3%;max-width:30px;"></td></tr></tbody></table></div></div></span><br></div></div></div></includetail>
</div></body>
</html>

java程序:

controller
LoginController

请求地址::http://localhost:8080/login

package com.bdm.controller;import com.bdm.service.MailService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;
import java.util.Map;/*** @code Description* @code author 本当迷* @code date 2022/8/21-7:11*/
@RestController
@RequestMapping("login")
public class LoginController {@Autowiredpublic MailService mailService;@GetMappingpublic String login(){mailService.sendMail();return "发送成功!";}
}

service:

MailService

/*** @code Description* @code author 本当迷* @code date 2022/8/21-7:20*/
public interface MailService {void sendMail();
}

serviceImpl:(核心代码)

mailServiceImpl

package com.bdm.service.impl;import com.bdm.service.MailService;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.context.Context;
import org.thymeleaf.templateresolver.ClassLoaderTemplateResolver;import javax.mail.internet.MimeMessage;/*** @code Description* @code author 本当迷* @code date 2022/8/21-7:11*/
@Component
public class mailServiceImpl implements MailService {@Autowiredprivate JavaMailSender javaMailSender;//发送人public String from = "2181063167@qq.com";//接收人public String to = "2181063167@qq.com";//标题public String subject = "测试邮件";// 验证码public String code = "1234";public void sendMail() {// 创建模板引擎final TemplateEngine engine = new TemplateEngine();// 读取磁盘中的模板文件final ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();// 设置引擎使用 resolverengine.setTemplateResolver(resolver);// 指定数据final Context context = new Context();// 把验证码的变量替换 1234 就可以了context.setVariable("code", code);// 处理模板final String html = engine.process("template.html", context);System.out.println(html);try {MimeMessage message = javaMailSender.createMimeMessage();MimeMessageHelper helper = new MimeMessageHelper(message,true);helper.setFrom(from+"(本当迷)");helper.setTo(to);helper.setSubject(subject);helper.setText(html,true);javaMailSender.send(message);} catch (Exception e) {e.printStackTrace();}}@Testpublic void test01(){// 创建模板引擎final TemplateEngine engine = new TemplateEngine();// 读取磁盘中的模板文件final ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();// 设置引擎使用 resolverengine.setTemplateResolver(resolver);// 指定数据final Context context = new Context();context.setVariable("code", "1234");// 处理模板final String html = engine.process("template.html", context);System.out.println(html);}
}

使用腾讯云模板发送短信验证码相关推荐

  1. 使用腾讯云实现发送短信验证码登录的后端实现

    话不多说, 直接开始 目录 腾讯云短信服务注册相关 发送短信 API 开发 配置相关 接口 腾讯云短信服务注册相关 ① 在腾讯云首页搜索短信 腾讯云地址: 腾讯云 - 产业智变 云启未来 搜索出来后点 ...

  2. node.js实现阿里云配置发送短信验证码

    目录 开始 签名添加 模板添加 测试短信 项目中使用 Core accessKeyId | accessKeySecret params PhoneNumbers SignName TemplateC ...

  3. JavaWeb-SpringBoot_一个类实现腾讯云SDK发送短信

    腾讯云应用列表 传送门 使用Gradle编译项目 传送门 SDK&API:qcloudsms_java 传送门 package com.Gary.sms.controller;import j ...

  4. python控制手机发短信_python-在python3中使用容联云通讯发送短信验证码

    2020-08-15更新 今天进容联云官网发现其已经更新了最新版的Python SDK,可以直接 pip install ronglian_sms_sdk 即可安装使用,具体新的使用方法可以查看官网案 ...

  5. 云通讯——发送短信验证码

    1.首先,注册账号,容联云通讯网址:点我 2.添加一个用于测试接收短信验证码的的手机号 插件包及其使用说明 模板短信 SDK 下载: https://www.yuntongxun.com/doc/re ...

  6. java微信发送验证码,详解如何使用微信小程序云函数发送短信验证码

    其实微信小程序前端和云端都是可以调用短信平台接口发送短信的,使用云端云函数的好处是无需配置域名,也没有个数限制. 1.安装 下载后的SDK在cloudfunctions文件夹下会包含3个云函数文件夹, ...

  7. go基于腾讯云实现发送短信

    简介 腾讯云短信服务 代码 package mainimport ("encoding/json""fmt""math/rand"" ...

  8. 荣联云发送短信验证码--python3接口

    前言 近期做网页注册需要用到发送验证码功能,于是用荣联云的发送短信验证码进行测试,官网上提供的demo是python2.7的,而目前都使用的python3了,而且demo中的代码太长了,我只取demo ...

  9. java实现发送短信验证码、短信验证码防刷校验-49

    一:认证服务环境搭建 1.新建gulimail-auth-server 2.整合相关依赖 <!--引入commom依赖--><dependency><groupId> ...

最新文章

  1. 楚天高速拟12.6亿并购三木智能 涉足物联网领域
  2. 线性判别分析(LDA)和她的家人们
  3. 5.数字拆分成4段,怎样使得4段的乘积最小【dp】
  4. 【职场】程序员摆地摊都能月入过万,是真的吗?
  5. Linux第二次作业
  6. windowsSDK加速键实例分析
  7. 2018-10-16
  8. 性能测试-了解硬件之CPU(一)
  9. 2017百度之星初赛:A-1006. 度度熊的01世界(DFS)
  10. 塔康信号matlab,干扰效能仿真,jamming effect simulation,音标,读音,翻译,英文例句,英语词典...
  11. 计算机芯片制造原理,制作芯片与下围棋——一张图说明芯片的工作原理
  12. 电商或财务系统计算钱精度的问题
  13. ubuntu18.10安装redshift护眼软件
  14. android设置个性桌面,打造小清新手机 安卓桌面 美化全教程
  15. PHP执行底层机制-zend详解
  16. 通过MediaRecorder 录制视频的时候,魅族手机录制视频后,大小显示0
  17. Gradle 项目 在 IDEA 中运行,出现找不到符号错误
  18. 划水总结剑指offer 链表系列1
  19. 前端vue异形轮播图案例(带源码)
  20. 把代码字体加大的办法

热门文章

  1. 软件开发学习的5大技巧,你知道吗?
  2. Docker容器学习笔记(看了狂神视频)
  3. 高级Android开发进阶之路,你需要掌握的几个关键技术!
  4. 读美妆论文AN AUTOMATIC FRAMEWORK FOR EXAMPLE-BASED VIRTUAL MAKEUP
  5. PhpStorm 2018 最新激活码 license server
  6. Loopback接口和Null接口配置
  7. Dango Web 开发指南 学习笔记 3
  8. 紫装の槍使い(トゥーヴァ) / 紫枪(异时层土法)
  9. 京东数据库智能运维平台建设之路
  10. Navicat Premium 12.1.24