SprringBoot发送邮件+HuTool
简单的Email发送,使用HuTool的工具类
使用HuTool的MailUtil
一. 创建SpringBoot项目
勾选Thymeleaf SpringWeb

二.
1. 使用HuTool的MailUtil 引入依赖
<dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.5.1</version> </dependency>
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
2. 邮件服务器配置 (粗略------详细 访问_https://www.hutool.cn/ 查找邮件)
在maven项目中在 (src/main/resources) 创建 config目录 创建 mail.setting
# 邮件服务器的SMTP地址
host = smtp.qq.com
# 邮件服务器的SMTP端口
port = 465
# 发件人(必须正确,否则发送失败)
from = ***************
# 用户名(注意:如果使用foxmail邮箱,此处user为qq号)
user = ************
# 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助)
pass = *******
#使用 STARTTLS安全连接,STARTTLS是对纯文本通信协议的扩展。
startttlsEnable = true
# 使用SSL安全连接
sslEnable = true
# 指定实现javax.net.SocketFactory接口的类的名称,这个类将被用于创建SMTP的套接字
socketFactoryClass = javax.net.ssl.SSLSocketFactory
# 如果设置为true,未能创建一个套接字使用指定的套接字工厂类将导致使用java.net.Socket创建的套接字类, 默认值为true
socketFactoryFallback = true
# 指定的端口连接到在使用指定的套接字工厂。如果没有设置,将使用默认端口456
socketFactoryPort = 465
# SMTP超时时长,单位毫秒,缺省值不超时
timeout = 0
# Socket连接超时值,单位毫秒,缺省值不超时
connectionTimeout = 0
3. 使用其中
MailUtil.send("hutool@foxmail.com", "测试", "邮件来自Hutool测试", false);
这里最后参数是添加 附件的 false ---- true 详细:_https://www.hutool.cn/
方便一下临时使用:
列出:
----------------------------------------------------------------------------------------------------
1.发送普通文本邮件,最后一个参数可选是否添加多个附件
MailUtil.send("hutool@foxmail.com", "测试", "邮件来自Hutool测试", false);
2.群发:
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对象加在最后一个可变参数中即可
*****
这里是自己的代码
附带了一个html,附件
package com.bw.controller;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.List;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import cn.hutool.core.io.FileUtil;
import cn.hutool.extra.mail.MailUtil;
@Controller
public class MailController {
@RequestMapping("sendMailToQQ")
@ResponseBody
public String sendMailToQQ() {
//-----------------------------------------------------------------
InputStream is = ClassLoader.getSystemResourceAsStream("templates/bwie.html");
BufferedReader fileReader = new BufferedReader(new InputStreamReader(is));
StringBuffer sb = new StringBuffer();
String line = "";
try {
while((line = fileReader.readLine()) != null) {
sb.append(line);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (is != null) {
try {
is.close();
} catch (Exception e) {
e.printStackTrace();
}
}
if (fileReader != null) {
try {
fileReader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
List<String> list = new ArrayList<String>();
list.add("*******@qq.com");
list.add("**********@qq.com");
//
//sb.toString().replace("###", "测试") 这里是替换我 html中 ###
MailUtil.send(list, "测试2", sb.toString().replace("###", "测试"), true, FileUtil.file("C:\\Users\\Hello\\Pictures/6201fc0b9e56455091d874042d1f6bb3!400x400.jpeg"));
return "发送成功";
}
}
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
不插入附件 直接进行 发送
MailUtil.send("2304200957@qq.com", "测试", "侯先生的测试", false);
return "发送成功";

本文来自博客园,作者:元亓,转载请注明原文链接:https://www.cnblogs.com/Lazy-1bird/p/h1128.html

浙公网安备 33010602011771号