内容介绍
本文介绍两种方式发送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("[email protected]"); messageHelper.setFrom("[email protected]"); messageHelper.setSubject("subject"); // messageHelper.addAttachment( "book.xls", file); // true 表示启动HTML格式的邮件 messageHelper.setText("<html><head></head><body><h2>测试</h2></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
是邮箱的完整地址,即 [email protected]
# 邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀> host = smtp.yeah.net # 邮件服务器的SMTP端口,可选,默认25 port = 25 # 发件人(必须正确,否则发送失败) from = [email protected] # 用户名,默认为发件人邮箱前缀 user = hutool # 密码(注意,某些邮箱需要为SMTP服务单独设置授权码,详情查看相关帮助) pass = q1w2e3
登录后复制
测试
@GetMapping("testEmail") public String send() { MailUtil.send("[email protected]", "测试", "邮件来自Hutool测试", false); return "ok"; }
登录后复制
也可以发送文件 ,参考 hutool
文档即可
以上就是springboot hutool整合email的方法是什么的详细内容,更多请关注Work网其它相关文章!