配合B站视频讲解: 点击这里跳转
我们实战项目中,有很多运用到邮件发送功能,那我们今天就来分享一下一个非常短小精悍的邮件发送功能写法。项目中运用邮箱主要有以下几类应用:
通过邮箱找回密码,例如博客园应用授权(下载XShell,Oracle JDK8等等)
信息传递,也就是我们邮箱最基础的功能,就是给你发送 一些数据信息
本文演示,使用QQ邮箱发邮件至163邮箱
用户A 使用QQ邮箱编辑了一封邮件填写收件人后,点击发送QQ邮箱服务器接收到用户A的邮件QQ邮箱服务器使用SMTP 服务器将邮件发送给163服务器163服务器使用SMTP服务器接收,然后存储163服务器将接收的邮件发送给用户B的163邮箱客户端核心:使用smtp协议传输(校验用户,建立连接,发送邮件)
本文使用,hutool工具箱实现邮件发送功能
添加依赖,需要添加两个依赖,一个是邮件依赖,一个是工具箱依赖 <!-- 加入hu tool 工具箱 --> <dependency> <groupId>cn.hutool</groupId> <artifactId>hutool-all</artifactId> <version>5.3.7</version> </dependency> <!-- 加入邮件依赖 --> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version> </dependency> 在resource下建一个config目录,然后建立mail.setting文件夹mail.setting
# 邮箱配置 # 发件人(必须正确,否则发送失败) from = test@qq.com # 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助) pass = nyfbjgzinmntjxst 编码实现 // 一行代码搞定 // 普通文本邮件 MailUtil.send("hutool@foxmail.com", "测试", "邮件来自Hutool测试", false); // 邮件正文为html邮件 MailUtil.send("hutool@foxmail.com", "测试", "<h1>邮件来自Hutool测试</h1>", true); // 发送附件 MailUtil.send("hutool@foxmail.com", "测试", "<h1>邮件来自Hutool测试</h1>", true,new File("D:/1.xlsx")); // 给多个邮箱发送 List<String> emails = new ArrayList<>(); emails.add("hutool1@foxmail.com"); emails.add("hutool2@foxmail.com"); MailUtil.send(emails, "测试", "<h1>邮件来自Hutool测试</h1>", true,new File("D:/1.xlsx")); // 发送多个附件 MailUtil.send("hutool@foxmail.com", "测试", "<h1>邮件来自Hutool测试</h1>", true,new File("D:/1.xlsx"),File("D:/2.xlsx")); 效果非常非常简单~~
安利一波公众号:GitHub严选(学习资料,项目推荐,技术分享)