主要组成部分
<aside>
💡 1、用户通过用户代理将邮件发给邮件服务器
2、邮件服务器将邮件加入当前队列中,并通过SMTP协议逐个发给对应的目标邮件服务器
3、目标邮件服务器接收到邮件后逐个发到对应目标用户的邮箱中
4、目标用户再通过用户代理从邮箱中获取邮件
</aside>

三个主要组成部分
用户代理
又名 “邮件阅读器”,功能为撰写、编辑和阅读邮件
- 可以理解为读/写邮件所用的软件,如Outlook、Foxmail
- 输出和输入邮件保存在服务器上

邮件服务器
- 邮箱中管理和维护发送给用户的邮件
- 输出报文队列保持待发送邮件报文
- 邮件服务器之间的SMTP协议:发送email报文
EMail: SMTP [RFC 2821]
- 使用TCP在客户端和服务器之间传送报文,端口号为25
- 直接传输:从发送方服务器到接收方服务器
- 传输的3个阶段
- 命令/响应交互
- 报文必须为7位ASCII码
SMTP与TCP相比:
- 数据的交互方式:
- HTTP:拉(pull),客户端从服务器中拉取数据
- SMTP:推(push),用户通过用户代理将邮件推入邮件服务器、邮件服务器将邮件推入目标邮件服务器
- 二者都是ASCII形式的命令/响应交互、状态码
- HTTP:每个对象封装在各自的响应报文中
- SMTP:多个对象包含在一个报文中(一封邮件中可以有文本、图片、视频等多个对象)
邮件报文格式
- 首部行:
- To:
- From:
- Subject:
- 与SMTP命令不同 !
- 主体

报文的多媒体扩展