内容介绍
本文介绍两种方式发送email文件
spring boot 整合 email 发送文件
spring boot 利用hutool 整合email 发送文件
前提
发送email文件需要开启pop

spring boot 整合email 发送文件
导入依赖
org.springframework.boot spring-boot-starter-mail
配置文件
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("测试
", true);
javaMailSender.send(message);
} catch (MessagingException e) {
e.printStackTrace();
}
return "成功";
}
}spring boot 利用 hutool 整合email 发送email文件
导入依赖
Hutool对所有第三方都是可选依赖,因此在使用MailUtil时需要自行引入第三方依赖。
旧版
com.sun.mail javax.mail 1.6.2
新版
com.sun.mail jakarta.mail 1.6.7
也可以直接daoru spring boot email依赖
org.springframework.boot spring-boot-starter-mail
配置文件
在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 文档即可










