Appearance
电子邮件(SMTP/POP3/IMAP)
考情分析
电子邮件系统在 408 中考频不算高,但每隔几年会出现。选择题常考 SMTP/POP3/IMAP 的区别、邮件发送过程中各阶段使用的协议、SMTP 是推协议还是拉协议。
考频:★★☆
电子邮件系统的组成
电子邮件系统由三个核心组件构成:
1. 用户代理(UA, User Agent)
用户直接使用的邮件客户端软件(如 Outlook、Foxmail、网页邮箱)。负责撰写、显示、处理邮件。
2. 邮件传输代理(MTA, Mail Transfer Agent)
也叫邮件服务器。负责发送和接收邮件。每个 MTA 有一个邮箱队列(存放待发送的邮件)和一个用户邮箱(存放收到的邮件)。
3. 邮件访问代理(MAA, Mail Access Agent)
允许用户从邮件服务器读取邮件的协议/软件。POP3 和 IMAP 就是 MAA 使用的协议。
邮件发送的完整过程
从发件人到收件人,邮件经历以下步骤:
详细过程:
- 发件人在 UA 中写好邮件,点击发送
- UA 通过 SMTP 协议将邮件发送到发件人的邮件服务器(MTA)
- 发件人的 MTA 通过 SMTP 协议将邮件转发到收件人的邮件服务器(MTA)
- 邮件存放在收件人邮件服务器的用户邮箱中
- 收件人的 UA 通过 POP3 或 IMAP 协议从自己的邮件服务器拉取邮件
一个关键点:发送阶段(步骤 2、3)全部使用 SMTP,接收阶段(步骤 5)使用 POP3 或 IMAP。SMTP 是"推"协议,POP3/IMAP 是"拉"协议。
SMTP 协议
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)负责邮件的发送和转发。
SMTP 的特点
| 特性 | 说明 |
|---|---|
| 传输层 | TCP,端口 25 |
| 传输方向 | 推(Push)协议——发送方主动将邮件推给接收方 |
| 编码 | 只能传输 7 位 ASCII 文本 |
| 通信方式 | C/S 模式,发送方是客户端,接收方是服务器 |
SMTP 的工作过程
SMTP 通信分三个阶段:
1. 连接建立
- 发送方 MTA 与接收方 MTA 建立 TCP 连接(端口 25)
- 接收方回复 220(服务就绪)
- 发送方发送 HELO 命令
2. 邮件传送
MAIL FROM: <sender@example.com>— 声明发件人RCPT TO: <receiver@example.com>— 声明收件人DATA— 开始传送邮件内容- 邮件内容以
.(单独一行的句点)结束
3. 连接释放
- 发送方发送
QUIT命令 - TCP 连接关闭
SMTP 的局限
SMTP 只能传送 7 位 ASCII 文本。这意味着不能直接传送中文、图片、视频等二进制内容。要传送这些内容,需要 MIME 扩展。
MIME(多媒体邮件扩展)
MIME(Multipurpose Internet Mail Extensions)不是一个独立的协议,而是对 SMTP 的扩展。它定义了如何在 SMTP 的 ASCII 限制下传送多媒体内容。
MIME 的做法:在邮件首部增加额外的字段(如 Content-Type、Content-Transfer-Encoding),并将非 ASCII 内容用 Base64 等方式编码成 ASCII 字符串。
| MIME 首部字段 | 作用 |
|---|---|
| MIME-Version | MIME 版本(通常是 1.0) |
| Content-Type | 邮件内容的类型(text/plain, text/html, image/jpeg 等) |
| Content-Transfer-Encoding | 编码方式(Base64, Quoted-Printable 等) |
408 对 MIME 的考查不深,知道它的作用即可。
POP3 协议
POP3(Post Office Protocol version 3,邮局协议第3版)是最简单的邮件读取协议。
| 特性 | 说明 |
|---|---|
| 传输层 | TCP,端口 110 |
| 传输方向 | 拉(Pull)协议——客户端从服务器拉取邮件 |
| 工作模式 | 下载并删除 或 下载并保留 |
POP3 的工作方式
POP3 有两种模式:
下载并删除(Delete): 邮件从服务器下载到本地后,服务器上的邮件被删除。换一台设备就看不到之前的邮件了。
下载并保留(Keep): 邮件下载到本地后,服务器上仍保留一份副本。
POP3 的问题:用户在本地对邮件的操作(移动到文件夹、标记已读等)不会同步到服务器。在不同设备上看到的邮件状态可能不一致。
IMAP 协议
IMAP(Internet Message Access Protocol,互联网邮件访问协议)是更先进的邮件读取协议。
| 特性 | 说明 |
|---|---|
| 传输层 | TCP,端口 143 |
| 传输方向 | 拉(Pull)协议 |
| 工作模式 | 在线管理 |
IMAP 与 POP3 的区别
| 对比项 | POP3 | IMAP |
|---|---|---|
| 邮件存储位置 | 下载到本地 | 保留在服务器 |
| 多设备同步 | 不同步 | 所有操作实时同步 |
| 服务器端文件夹 | 不支持 | 支持在服务器端创建和管理文件夹 |
| 离线访问 | 下载后可离线查看 | 需要缓存才能离线查看 |
| 部分下载 | 全部下载 | 可以只下载邮件首部,需要时再下载正文 |
| 服务器存储压力 | 小(邮件移到本地) | 大(邮件留在服务器) |
一句话总结:POP3 适合只在一台设备上收邮件的场景,IMAP 适合多设备同步。现在主流的邮件服务(Gmail、QQ 邮箱等)基本都使用 IMAP。
基于 Web 的电子邮件
现在很多人用浏览器收发邮件(如 Gmail 网页版)。这种情况下:
- 用户 ↔ 邮件服务器之间使用 HTTP/HTTPS(不是 SMTP/POP3)
- 邮件服务器之间仍然使用 SMTP 转发
也就是说,用户通过 HTTP 把邮件提交给自己的邮件服务器,服务器之间用 SMTP 转发,收件人再通过 HTTP 从自己的邮件服务器读取邮件。
易错点
1. SMTP 是推协议,POP3/IMAP 是拉协议
发送邮件 = 推(SMTP),接收邮件 = 拉(POP3/IMAP)。不要搞反。
2. 发送阶段都用 SMTP
无论是 UA → 发件人 MTA,还是发件人 MTA → 收件人 MTA,都用 SMTP。只有最后一步(收件人读取邮件)才用 POP3/IMAP。
3. SMTP 只能传 7 位 ASCII
SMTP 本身不能传二进制数据。传图片、中文等需要 MIME 编码。
4. 端口号别记混
SMTP=25, POP3=110, IMAP=143。HTTPS=443, HTTP=80。
高频考点清单
- 电子邮件系统的三个组成部分(UA, MTA, MAA)
- 邮件发送全过程及各阶段使用的协议
- SMTP 是推协议(端口 25),POP3/IMAP 是拉协议
- SMTP 只能传 7 位 ASCII 文本,MIME 解决多媒体传输
- POP3(端口 110)vs IMAP(端口 143)的区别
- 基于 Web 的邮件使用 HTTP 而非 SMTP/POP3