【Java Web】发送邮件 Spring Mail+Thymeleaf

这篇具有很好参考价值的文章主要介绍了【Java Web】发送邮件 Spring Mail+Thymeleaf。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 邮箱启用SMTP服务

生成授权码,然后看一下发送邮件服务器及端口。

2. Spring Mail

2.1 在pom中导入jar包
<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-mail</artifactId>
			<version>2.1.5.RELEASE</version>
		</dependency>

		<dependency>
			<groupId>com.sun.mail</groupId>
			<artifactId>javax.mail</artifactId>
			<version>1.6.2</version>
		</dependency>
2.2 邮箱参数设置
# MailProperties
spring.mail.host=smtp.qq.com
spring.mail.port=465
spring.mail.username=123456789@qq.com
spring.mail.password=xxxxxxxxxxxx
spring.mail.protocol=smtps
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
2.3 使用JavaMailSender发送邮件,建立mailClient.java工具类
package com.nowcoder.community.util;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.stereotype.Component;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;

@Component
public class MailClient {

    private static final Logger logger = LoggerFactory.getLogger(MailClient.class);

    @Autowired
    private JavaMailSender mailSender;

    @Value("${spring.mail.username}")
    private String from;

    public void sendMail(String to, String subject, String content) {
        try {
            MimeMessage message = mailSender.createMimeMessage();
            MimeMessageHelper helper = new MimeMessageHelper(message);
            helper.setFrom(from);
            helper.setTo(to);
            helper.setSubject(subject);
            helper.setText(content, true);
            mailSender.send(helper.getMimeMessage());
        } catch (MessagingException e) {
            logger.error("发送邮件失败:" + e.getMessage());
        }
    }

}

2.4 发邮件测试单元
package com.nowcoder.community;

import com.nowcoder.community.util.MailClient;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringRunner;
import org.thymeleaf.TemplateEngine;
import org.thymeleaf.Thymeleaf;
import org.thymeleaf.context.Context;

@RunWith(SpringRunner.class)
@SpringBootTest
@ContextConfiguration(classes = CommunityApplication.class)
public class MailTests {

    @Autowired
    private MailClient mailClient;


    @Test
    public void testTextMail() {
        mailClient.sendMail("接收邮箱@qq.com", "TEST", "Welcome.");
    }



}

3.模板引擎

在测试类中注入模板引擎,使用testHtmlMail方法发送html类型邮件。如果没有收到邮件,一般可以在垃圾箱中找到。文章来源地址https://www.toymoban.com/news/detail-670373.html

@Autowired
private TemplateEngine templateEngine;
@Test
    public void testHtmlMail(){
        Context context = new Context();
        context.setVariable("username","sunday");

        String content = templateEngine.process("/mail/demo", context);
        System.out.println(content);

        mailClient.sendMail("xxxxxx@mails.ucas.ac.cn", "Html", content);
    }

到了这里,关于【Java Web】发送邮件 Spring Mail+Thymeleaf的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 如何使用Java Mail发邮件(包括单发和群发),含演示代码下载

    在我们做业务系统开发时时,经常会用到 邮件发送的场景,如 通过邮件通知给注册用户有关注册码的内容,或者 管理的某些设备有告警了,需要邮件通知相关维护人员及时处理相关设备,还有 使用的会员服务已经到期了,用邮件通知给用户等等。 在java 世界里如何发邮件,

    2024年02月16日
    浏览(45)
  • laravel中Mail发送邮件失败,但是没有错误信息,该如何调试?

    在Laravel中,当使用Mail类发送邮件失败但没有错误信息显示时,可以按照以下步骤进行调试: 检查日志文件: Laravel会记录各种应用程序活动和错误信息。查看应用程序的日志文件,通常位于 storage/logs 目录下,寻找与邮件相关的错误消息。 开启调试模式: 在 .env 文件中将

    2024年02月11日
    浏览(49)
  • 【论坛java项目】第二章 Spring Boot实践,开发社区登录模块:发送邮件、开发注册功能、会话管理、生成验证码、开发登录、退出功能、

    😀如果对你有帮助的话😊 🌺为博主点个赞吧 👍 👍点赞是对博主最大的鼓励😋 💓爱心发射~💓 bofryuzursekbiab——密码 访问邮箱域名 邮箱端口 账号 密码 协议 详细配置 JavaMailSender 是 Spring Email 的核心组件,负责发送邮件 MimeMessage 用于封装邮件的相关信息 MimeMessageHelper 用

    2024年02月06日
    浏览(57)
  • 使用SpringBoot + JavaMailSender 发送邮件报错 Mail server connection failed;Could not connect to SMTP host

    在 application.yml 中将邮件配置为 SSL 连接 yml 如果你使用的是 properties 文件,应该修改为: properties 推荐一个 yml、properties 文件在线转换的网站  在线yaml转properties-在线properties转yaml-ToYaml.com   来源:https://www.cnblogs.com/songjilong/p/12577010.html

    2024年02月04日
    浏览(56)
  • 用Java实现发送邮件——Java Email

            众所周知,Email就是邮件,在科技高速发展的今天我们也使用了非常之久的电子邮件,我们熟知的邮件有自己的QQ邮箱、网易邮箱大师还有Outlook等都是用来发送邮件的,而用Java程序也是可以用来发送邮件的。 首先我们先对比一下传统的邮件信息是如何发送的:传

    2024年02月05日
    浏览(45)
  • java实现发送邮件

    本文介绍下java实现邮件的发送,意在网站用户评论时能够及时通知站长和用户评论被回复后能够及时通知用户。 下文介绍下具体实现。 java实现 首先引入springboot的邮箱依赖 配置邮箱参数,这里以 qq邮箱 作为示例 此时就差不多了,接下来实现邮箱工具类 此时调用 MailUtil 里

    2024年02月16日
    浏览(48)
  • JAVA之发送邮件

    一、导入依赖 二、发送普通文本 三、发送附件 一、导入依赖 二、发送普通文本 三、发送附件 方法一:通过POI读取数据库的数据,并生成excel,但不保存在本地文件,通过流的方式,作为附件并发送邮件 主要的代码如下: 全部代码如下: 方法二:将导出的数据生成文件,

    2024年02月13日
    浏览(42)
  • Java发送邮件一行代码解决

    今天博主带来一期超详细的邮件发送实操内容,希望能get到您的点赞!话不多说,直接进入正题。 在实践开始前,这里需要提到 Hutool ,Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率的工具类。 那么现在正式进入实战!首先创

    2024年02月02日
    浏览(54)
  • Java Email 实现邮件发送

    Email:电子邮件。 在当今社会有着重要的应用,传统的邮件是通过邮局投递,然后从一个邮局到另一个邮局,最终到达用户的邮箱。 在电子邮件中也有着相似的发送过程:电子邮件是从用户电脑的邮件软件发送到邮件服务器上,经过若干个邮件服务器的中转,最终到达对方邮

    2024年02月03日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包