第五章 邮件核心协议:POP3
POP3(Post Office Protocol version 3)是最常用的邮件接收协议,允许用户从服务器下载邮件到本地。
基本信息
- 标准文档:RFC 1939
- 默认端口:110(普通)、995(POP3S,加密)
- 工作模式:下载-删除模式,默认情况下邮件下载到本地后会从服务器删除
POP3的工作过程
POP3会话分为三个阶段:认证阶段、事务阶段、更新阶段。
客户端 服务器
│ │
│─── 连接到端口110 ──────────────▶│
│◀─── +OK POP3 server ready ─────│
│─── USER username ─────────────▶│
│◀─── +OK 请输入密码 ────────────│
│─── PASS password ─────────────▶│
│◀─── +OK 登录成功 ──────────────│
│─── STAT ──────────────────────▶│
│◀─── +OK 2 32000 ───────────────│ (2封邮件,总大小32KB)
│─── LIST ──────────────────────▶│
│◀─── +OK 2 messages: ───────────│
│◀─── 1 12000 ───────────────────│
│◀─── 2 20000 ───────────────────│
│◀─── . ─────────────────────────│
│─── RETR 1 ────────────────────▶│
│◀─── +OK 12000 octets ──────────│
│◀─── 邮件内容 ──────────────────│
│◀─── . ─────────────────────────│
│─── DELE 1 ────────────────────▶│ (标记第一封邮件为删除)
│◀─── +OK deleted ───────────────│
│─── QUIT ──────────────────────▶│
│◀─── +OK Bye ───────────────────│ (删除标记的邮件,关闭连接)
常用POP3命令
| 命令 | 作用 |
|---|---|
| USER username | 认证阶段指定用户名 |
| PASS password | 认证阶段指定密码 |
| STAT | 查询邮件统计信息(邮件数量、总大小) |
| LIST [msg] | 列出邮件大小 |
| RETR msg | 获取指定邮件内容 |
| DELE msg | 标记邮件为删除 |
| RSET | 取消所有删除标记 |
| NOOP | 空操作 |
| QUIT | 结束会话,删除标记的邮件 |
| TOP msg n | 显示邮件的前n行内容 |
| UIDL [msg] | 显示邮件的唯一标识符 |
POP3的优缺点
优点:
- 协议简单,实现容易
- 邮件下载到本地,离线也可以阅读
- 节省服务器存储空间
缺点:
- 默认下载后删除服务器邮件,容易丢失
- 多设备同步困难,不同设备看到的邮件不一致
- 无法在服务器端管理邮件文件夹
- 功能有限,不支持搜索、过滤等高级操作
本章小结
POP3是一种简单的邮件接收协议,适合单设备使用。但由于其不支持多设备同步,现代更多使用IMAP协议。下一章我们将介绍更先进的IMAP协议。