一、引入依赖
代码语言:javascript复制<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
二、邮件服务器配置
在classpath(在标准Maven项目中为src/main/resources)的config目录下新建mail.setting文件,最小配置内容如下,在此配置下,smtp服务器和用户名都将通过from参数识别:
代码语言:javascript复制# 发件人(必须正确,否则发送失败)
from = hutool@yeah.net
# 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助)
pass = q1w2e3
有时候一些非标准邮箱服务器(例如企业邮箱服务器)的smtp地址等信息并不与发件人后缀一致,端口也可能不同,此时Hutool可以提供完整的配置文件:
完整配置
代码语言:javascript复制# 邮件服务器的SMTP地址,可选,默认为smtp.<发件人邮箱后缀>
host = smtp.yeah.net
# 邮件服务器的SMTP端口,可选,默认25
port = 25
# 发件人(必须正确,否则发送失败)
from = hutool@yeah.net
# 用户名,默认为发件人邮箱前缀
user = hutool
# 密码(注意,某些邮箱需要为SMTP服务单独设置授权码,详情查看相关帮助)
pass = q1w2e3
三、发送邮件
1、发送普通文本邮件,最后一个参数可选是否添加多个附件
代码语言:javascript复制MailUtil.send("hutool@foxmail.com", "测试", "邮件来自Hutool测试", false);
2、发送HTML格式的邮件并附带附件,最后一个参数可选是否添加多个附件
代码语言:javascript复制MailUtil.send("hutool@foxmail.com", "测试", "<h1>邮件来自Hutool测试</h1>", true, FileUtil.file("d:/aaa.xml"));
3、群发邮件,可选HTML或普通文本,可选多个附件
代码语言:javascript复制ArrayList<String> tos = CollUtil.newArrayList(
"person1@bbb.com",
"person2@bbb.com",
"person3@bbb.com",
"person4@bbb.com");
MailUtil.send(tos, "测试", "邮件来自Hutool群发测试", false);
发送邮件非常简单,只需一个方法即可搞定其中按照参数顺序说明如下:
- tos: 对方的邮箱地址,可以是单个,也可以是多个(Collection表示)
- subject:标题
- content:邮件正文,可以是文本,也可以是HTML内容
- isHtml: 是否为HTML,如果是,那参数3识别为HTML内容
- files: 可选:附件,可以为多个或没有,将File对象加在最后一个可变参数中即可