hutool email
内容介绍
本文介绍 两种方式发送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("接收地址@126.com");
messageHelper.setFrom("发送地址@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
文档即可
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net