5分钟快速掌握邮件发送功能

5分钟快速掌握邮件发送功能

在这里插入图片描述

配合B站视频讲解:
点击这里跳转

前言

我们实战项目中,有很多运用到邮件发送功能,那我们今天就来分享一下一个非常短小精悍的邮件发送功能写法。项目中运用邮箱主要有以下几类应用:

  • 通过邮箱找回密码,例如博客园
    在这里插入图片描述

在这里插入图片描述

  • 消息提醒

在这里插入图片描述

  • 应用授权(下载XShell,Oracle JDK8等等)

  • 信息传递,也就是我们邮箱最基础的功能,就是给你发送 一些数据信息

原理

在这里插入图片描述

本文演示,使用QQ邮箱发邮件至163邮箱

  • 用户A 使用QQ邮箱编辑了一封邮件
  • 填写收件人后,点击发送
  • QQ邮箱服务器接收到用户A的邮件
  • QQ邮箱服务器使用SMTP 服务器将邮件发送给163服务器
  • 163服务器使用SMTP服务器接收,然后存储
  • 163服务器将接收的邮件发送给用户B的163邮箱客户端

核心:使用smtp协议传输(校验用户,建立连接,发送邮件)

实战应用

本文使用,hutool工具箱实现邮件发送功能

在这里插入图片描述

  1. 添加依赖,需要添加两个依赖,一个是邮件依赖,一个是工具箱依赖
		<!-- 加入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>
  1. 在resource下建一个config目录,然后建立mail.setting文件夹

在这里插入图片描述

mail.setting

# 邮箱配置
# 发件人(必须正确,否则发送失败)
from = test@qq.com
# 密码(注意,某些邮箱需要为SMTP服务单独设置密码,详情查看相关帮助)
pass = nyfbjgzinmntjxst
  1. 编码实现
// 一行代码搞定

// 普通文本邮件
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"));

  1. 效果
    在这里插入图片描述

非常非常简单~~

安利一波公众号:GitHub严选(学习资料,项目推荐,技术分享)

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值