最近公司有发送给用户发送邮件消息功能,找了一下,利用hutool工具挺简单的,它封装的挺彻底的。直接上代码吧。
首先,引入maven,如下:
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>4.3.1</version>
</dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
测试代码如下:
package com.chenjianwen.test;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.extra.mail.MailAccount;
import cn.hutool.extra.mail.MailUtil;
import org.junit.Test;
/**
* @Description: <br>
* @Date: Created in 2019/8/30 <br>
* @Author: chenjianwen
*/
public class MailTest {
@Test
public void sendMail(){
MailAccount account = new MailAccount();
account.setHost("smtp.163.com");
account.setPort(25);
account.setAuth(true);
account.setFrom("ChenJevin@163.com");
account.setUser("ChenJevin@163.com");
account.setPass("xxx"); //密码
MailUtil.send(account, CollUtil.newArrayList("alichen3116@aliyun.com"), "测试", "邮件来自Hutool测试", false);
}
}
上面的几个参数说明一下:
MailAccount -- MailAccount对象,直接new一个。
host -- 服务器,这个需要在自己的邮箱中开通smtp服务,然后自动有的,如下图:
port -- 端口,默认25;
auth -- 默认true;
from -- 你的邮箱地址;
user -- 写你的邮箱即可;
password -- 你的邮箱密码;
然后调用MailUtil.send();方法:
第一个参数是mailAccount对象,也就是你上面new的。
第二个参数是你要发送消息的邮箱,可以是一个String(一个邮箱),也可以是一个Collection多个邮箱的集合。
第三个参数是发送邮件的主题。
第四个参数是邮件内容。
第四个参数默认为false即可。
最后,上述发送的邮件效果如下