Spring boot之发送邮件

1.预热阶段:以qq邮箱为例
(1)点击设置,切换到账户界面。
在这里插入图片描述
(2)下拉至POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务,开启POP3/SMTP选项。(获取授权码,保存!)
在这里插入图片描述
2.发送阶段:
(1)引入jar包依赖:

<!-- 邮件 -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
		</dependency>

(2)application.yml配置邮箱信息:

spring:
  #配置邮箱基本信息
  mail:
    #配置 SMTP 服务器地址
    host: smtp.qq.com
    #SMTP 服务器的端口
    port: 587
    #配置邮箱用户名
    username: 2636677955@qq.com
    #配置密码(POP3/SMTP授权码)
    password: fhfffugewpzmeaic
    #默认的邮件编码
    default-encoding: UTF-8
    properties:
      mail:
        smtp:
          #配饰 SSL 加密工厂
          socketFactoryClass: javax.net.ssl.SSLSocketFactory
        #开启 DEBUG 模式:发送邮件时打印日志
        debug: true

(3)发送邮件:

邮件一:

	@Autowired
    JavaMailSender javaMailSender;
    @Test
    public void sendSimpleMail() {
        SimpleMailMessage message = new SimpleMailMessage();
        #设置邮件主题
        message.setSubject("一封测试邮件");
        #设置邮件发送者
        message.setFrom("2636677955@qq.com");
        #设置邮件接收者(可多个)
        message.setTo("2822911343@qq.com");
        //邮件抄送人(可多个)
//        message.setCc("13xxxxx63@qq.com");
        //邮件隐秘抄送人(可多个)
//        message.setBcc("16xxxxx66@qq.com");
		#设置邮件发送日期
        message.setSentDate(new Date());
        #设置邮件的正文
        message.setText("测试邮件信息");
        #发送
        javaMailSender.send(message);
    }

效果展示如下:
在这里插入图片描述

邮件二:带附件的邮件

	@Test
    public void sendAttachFileMail() throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage,true);
        helper.setSubject("一封附件测试邮件");
        helper.setFrom("2636677955@qq.com");
        helper.setTo("2822911343@qq.com");
//        helper.setCc("13xxxxx63@qq.com");
//        helper.setBcc("16xxxxx66@qq.com");
        helper.setSentDate(new Date());
        helper.setText("测试邮件信息");
        #邮箱附件地址
        helper.addAttachment("javaPic.jpg",new File("C:\\Users\\Administrator\\Desktop\\任务\\1.png"));
        javaMailSender.send(mimeMessage);
    }

效果展示如下:
在这里插入图片描述

邮件三:Thymeleaf 作邮件模板
Thymeleaf 的自动化配置提供了一个 TemplateEngine,通过 TemplateEngine 可以方便的将 Thymeleaf 模板渲染为 HTML。

a.引入jar包依赖:

		<!-- Thymeleaf 依赖-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-thymeleaf</artifactId>
		</dependency>

b.在 resources/templates 目录下创建一个 mail.html 作为邮件发送模板:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<p>欢迎加入 CSDN 大家庭,您的基本信息如下:</p>
<table border="1" width="150">
    <tr>
        <td>姓名</td>
        <td th:text="${userName}"></td>
    </tr>
    <tr>
        <td>密码</td>
        <td th:text="${passWord}"></td>
    </tr>
    <tr>
        <td>rel名字</td>
        <td th:text="${realName}"></td>
    </tr>
</table>
<br />
<div style="color: #FF0000">good good study、day day up</div>
</body>
</html>

c.邮件测试

	@Autowired
    TemplateEngine templateEngine;

    @Test
    public void sendThymeleafMail() throws MessagingException {
        MimeMessage mimeMessage = javaMailSender.createMimeMessage();
        MimeMessageHelper helper = new MimeMessageHelper(mimeMessage, true);
        helper.setSubject("一封附件测试邮件");
        helper.setFrom("2636677955@qq.com");
        helper.setTo("2822911343@qq.com");
//        helper.setCc("37xxxxx37@qq.com");
//        helper.setBcc("14xxxxx098@qq.com");
        helper.setSentDate(new Date());
        Context context = new Context();
        context.setVariable("userName", "尤雨溪");
        context.setVariable("passWord","123456");
        context.setVariable("realName", "vue");
        String process = templateEngine.process("mail.html", context);
        helper.setText(process,true);
        javaMailSender.send(mimeMessage);
    }

效果展示如下:
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜鸟驿站ㅤ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值