文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用SpringBoot实现QQ邮箱发送邮件

2023-06-22 07:20

关注

本篇内容主要讲解“怎么用SpringBoot实现QQ邮箱发送邮件”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用SpringBoot实现QQ邮箱发送邮件”吧!

1.获取QQ邮箱授权码

怎么用SpringBoot实现QQ邮箱发送邮件

2.导入邮箱发送依赖启动器

使用定制邮件模板的方法实现通用邮件发送,Thymeleaf构建邮件模板需要一起导入依赖。

       <!-- Mail -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-mail</artifactId>        </dependency>        <!-- thymeleaf模板依赖 -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-thymeleaf</artifactId>        </dependency>

3.配置文件yml添加邮件服务配置

# Spring配置spring:  mail:    host: smtp.qq.com    username: ********@qq.com    # password是第一步QQ邮箱开通的smtp服务后得到的客户端授权码    password: ******************    default-encoding: UTF-8    properties:      mail:        smtp:          auth: true          starttls:            enable: true            required: true#thymeleaf模板引擎配置太简单,就不贴出来了

4.编写接口IMailService

public interface IMailService {    void sendHtmlMailThymeLeaf(String mailFrom, String mailFromNick, String mailTo, String cc, String subject, String content);}

5.编写实现MailServiceImpl

@Servicepublic class MailServiceImpl implements IMailService {        @Autowired    private JavaMailSender mailSender;    @Override    public void sendHtmlMailThymeLeaf(String mailFrom, String mailFromNick, String mailTo, String cc, String subject, String content) {        MimeMessage mimeMessage = mailSender.createMimeMessage();        try {            MimeMessageHelper mimeMessageHelper = new MimeMessageHelper(mimeMessage, true);            mimeMessageHelper.setFrom(new InternetAddress(mailFromNick + " <" + mailFrom + ">"));            // 设置多个收件人            String[] toAddress = mailTo.split(",");            mimeMessageHelper.setTo(toAddress);            if (!StringUtils.isEmpty(cc)) {                mimeMessageHelper.setCc(cc);            }            mimeMessageHelper.setSubject(subject);            // 第二个参数为true表示邮件正文是html格式的,默认是false            mimeMessageHelper.setText(content, true);            mailSender.send(mimeMessage);        } catch (MessagingException e) {            System.out.println(e);        }    }}

6.Controller调用

    // 发件人要跟yml配置文件里填写的邮箱一致    String mailFrom = "******@qq.com";    // 收件人    String mailTo = "******@qq.com,******@qq.com";    // 抄送(可为空)    String cc = "******@qq.com";    // 注入mailService    @Autowired    private IMailService mailService;      // 注入TemplateEngine    @Autowired    TemplateEngine templateEngine;    @RequestMapping("/other/test")//请求路径    @ResponseBody    public void testMail() {        //注意1:这里我是查询对应的内容,使用富文本编辑器存储html标签的内容        Strategy strategy = strategyService.selectStrategyByStrategyId(Long.valueOf(1));               Context context = new Context(); // 导包是org.thymeleaf.context        //注意2:获取发送的内容传入thymeleaf模板中        context.setVariable("content", strategy.getStrategyContent());        String content = templateEngine.process("mailTemplate.html", context);        //System.out.println(content);        mailService.sendHtmlMailThymeLeaf(mailFrom, "定义发件人名字", mailTo, cc, "定义邮件标题", content);        System.out.println("邮件发送成功");    }

7.thymeleaf模板 mailTemplate.html

<!DOCTYPE html><html lang="en" xmlns:th="http://www.thymeleaf.org"><head>    <meta charset="UTF-8">    <title>邮件发送</title></head><body>    <!--使用富文本框包含HTML标签 使用 th:utext标签 会解析html,显示相应的效果--><div th:utext="${content}">Some escaped text</div></body></html>

到此,相信大家对“怎么用SpringBoot实现QQ邮箱发送邮件”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯