一、邮件协议
1)smTP协议-发送邮件
smTP是一个相对简单的基于文本的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确认是存在的),然后消息文本会被传输。
STMP服务器则是遵循STMP协议的发送邮件服务器,用来发送或中转发送的电子邮件。默认端口号为25。
2)POP3协议-接收邮件
POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议”。是TCP/IP协议族中的一员。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。
POP3服务器则是遵循POP3协议的发送邮件服务器,用来接收或中转发送的电子邮件。默认端口号为110。
二、邮件收发过程
1)首先要准备两个邮件账户A,B,A负责发送,B负责接收。
假设A邮箱为 123@qq.com B邮箱为123@163.com
2)用户A发送邮件给用户B,通过客户端软件登录QQ邮箱的账号,连接QQ邮箱的服务器,QQ邮箱会根据用户A发送的邮件进行解析,也就是根据收件地址判断是否是自己管辖的账户,如果收件地址也是QQ邮箱,那么会直接存放到自己的存储空间。这里我们假设收件地址不是QQ邮箱,而是163邮箱,那么QQ邮箱就会将连接163的smTP服务器,把邮件通过smTP服务器转发到163邮箱的smTP服务器,转发使用的协议也是smTP。
3)收件人用户B通过登录163邮箱的账号,连接POP3服务器,可以查看用户A发送的邮件。
邮件发送过程图如下:
三、开发过程
1)引入发送邮件的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mail