spring boot hutool整合email的详细过程

 更新时间:2023年03月28日 09:38:11   作者:ccubee  
这篇文章主要介绍了spring boot hutool整合email的相关知识,本文介绍两种方式发送email文件,结合实例代码给大家介绍的非常详细,需要的朋友可以参考下

hutool email

内容介绍

本文介绍两种方式发送email文件

  • spring boot 整合 email 发送文件
  • spring boot 利用hutool 整合email 发送文件

前提

发送email文件需要开启pop

在这里插入图片描述

spring boot 整合email 发送文件

导入依赖

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

配置文件

spring:
    mail:
        default-encoding: utf-8
        host: smtp.aliyun.com
        username: 邮箱账号
        password:  密码

发送邮件测试

package com.example.easypoi.rest;

import lombok.RequiredArgsConstructor;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessageHelper;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import java.util.List;

/**
 * @author ccubee
 * @since 2021/12/31 14:37
 */
@RestController
@RequestMapping("poi")
@RequiredArgsConstructor
public class ExcelRest {
    private final JavaMailSender javaMailSender;

    @GetMapping("bootSend")
    public String bootSend() {
        MimeMessage message = javaMailSender.createMimeMessage();
        MimeMessageHelper messageHelper = null;
        try {
            messageHelper = new MimeMessageHelper(message, true, CharsetUtil.UTF_8);
            messageHelper.setTo("zt7086@126.com");
            messageHelper.setFrom("ccubee@aliyun.com");
            messageHelper.setSubject("subject");
    //        messageHelper.addAttachment( "book.xls", file);
            // true 表示启动HTML格式的邮件
            messageHelper.setText("<html><head></head><body><h1>测试</h1></body></html>", true);
            javaMailSender.send(message);
        } catch (MessagingException e) {
            e.printStackTrace();
        }
        return "成功";
    }

}


spring boot 利用 hutool 整合email 发送email文件

导入依赖

Hutool对所有第三方都是可选依赖,因此在使用MailUtil时需要自行引入第三方依赖。
旧版

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>javax.mail</artifactId>
    <version>1.6.2</version>
</dependency>

新版

<dependency>
  <groupId>com.sun.mail</groupId>
  <artifactId>jakarta.mail</artifactId>
  <version>1.6.7</version>
</dependency>

也可以直接daoru spring boot email依赖

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

配置文件

在classpath(在标准Maven项目中为src/main/resources)的config目录下新建mail.setting文件,最小配置内容如下,在此配置下,smtp服务器和用户名都将通过from参数识别:
form user都是发送文件地址
阿里云邮箱的 user是邮箱的完整地址,即 xxx@aliyun.com

在这里插入图片描述

# 邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>
host = smtp.yeah.net
# 邮件服务器的SMTP端口,可选,默认25
port = 25
# 发件人(必须正确,否则发送失败)
from = hutool@yeah.net
# 用户名,默认为发件人邮箱前缀
user = hutool
# 密码(注意,某些邮箱需要为SMTP服务单独设置授权码,详情查看相关帮助)
pass = q1w2e3

测试

@GetMapping("testEmail")
public String send() {
    MailUtil.send("123@qq.com", "测试", "邮件来自Hutool测试", false);
    return "ok";
}

也可以发送文件 ,参考 hutool 文档即可

到此这篇关于spring boot hutool整合email的文章就介绍到这了,更多相关spring boot hutool整合email内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • SpringBoot @Retryable注解方式

    SpringBoot @Retryable注解方式

    这篇文章主要介绍了SpringBoot @Retryable注解方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • JAVA统计字符串中某个字符出现次数的方法实现

    JAVA统计字符串中某个字符出现次数的方法实现

    本文主要介绍了JAVA统计字符串中某个字符出现次数的方法实现,可以循环使用String的charAt(int index)函数,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • Spring中的@DependsOn注解使用解析

    Spring中的@DependsOn注解使用解析

    这篇文章主要介绍了Spring中的@DependsOn注解使用解析,@DependsOn注解可以定义在类和方法上,意思是我这个组件要依赖于另一个组件,也就是说被依赖的组件会比该组件先注册到IOC容器中,需要的朋友可以参考下
    2024-01-01
  • SpringBoot Test及注解的使用详解

    SpringBoot Test及注解的使用详解

    这篇文章主要介绍了SpringBoot Test及注解的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • Java使用正则表达式(regex)匹配中文实例代码

    Java使用正则表达式(regex)匹配中文实例代码

    本文给大家分享java使用正则表达式匹配中文的实例代码,以及java中要匹配中文的正则表达式两种写法,感兴趣的朋友通过本文一起看看吧
    2016-12-12
  • Java中for、foreach、stream区别和性能比较详解

    Java中for、foreach、stream区别和性能比较详解

    for、foreach、stream都可以循环处理数据,如果单纯当循环使用,for、foreach、stream哪个性能更好,这篇文章主要给大家介绍了关于Java中for、foreach、stream区别和性能的相关资料,需要的朋友可以参考下
    2024-03-03
  • 微信小程序+后端(java)实现开发

    微信小程序+后端(java)实现开发

    这篇文章主要介绍了微信小程序+后端(java)实现开发,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • Java实现微信小程序加密数据解密算法

    Java实现微信小程序加密数据解密算法

    我们开发微信小程序的过程中,我们的服务端有时需要获取微信提供的开放数据。微信会对这些开放数据做签名和加密处理,本文通过实例代码给大家介绍Java实现微信小程序加密数据解密算法,感兴趣的朋友一起看看吧
    2021-11-11
  • SpringMVC适配器模式代码示例

    SpringMVC适配器模式代码示例

    这篇文章主要介绍了SpringMVC适配器模式代码示例,涉及模拟springmvc的Java代码等相关内容,具有一定借鉴价值,需要的朋友可以参考下。
    2017-11-11
  • Java中for(;;)和while(true)的区别

    Java中for(;;)和while(true)的区别

    这篇文章主要介绍了 Java中for(;;)和while(true)的区别,文章围绕for(;;)和while(true)的相关自来哦展开详细内容,需要的小伙伴可以参考一下,希望对大家有所帮助
    2021-11-11

最新评论