好的,阿杰 👍
我来给你整理一份 POP3 协议详解,结构化讲解,像学习笔记一样,帮助你彻底搞懂它。
📩 POP3 协议详解
1. 什么是 POP3?
- POP3(Post Office Protocol – Version 3)
- 用于 邮件客户端从邮件服务器下载邮件 的协议
- 默认端口:
- 110 → 明文传输
- 995 → POP3S(SSL 加密)
- 特点:
- 客户端通常 下载邮件到本地,默认删除服务器端邮件(但客户端可设置保留副本)
- 协议简单,适合单设备收取邮件
- 不支持多设备同步(这一点是 IMAP 的优势)
2. POP3 工作流程
典型流程分三步:
- 建立连接
- 客户端连接 POP3 服务器(TCP 110/995)
- 服务器返回
+OK
表示就绪
- 认证阶段(Authorization)
- 客户端发送用户名和密码验证
- 成功则进入事务阶段
- 事务阶段(Transaction)
- 客户端可执行操作:
- STAT → 查询邮件数量和总大小
- LIST → 列出邮件编号和大小
- RETR → 下载指定编号的邮件
- DELE → 删除指定邮件
- NOOP → 空操作(保持连接)
- RSET → 取消已标记删除的操作
- 客户端可执行操作:
- 更新阶段(Update)
- 客户端发送
QUIT
- 服务器删除被标记的邮件并关闭连接
- 客户端发送
3. POP3 常用命令
命令 | 作用 |
---|---|
USER username | 提供用户名 |
PASS password | 提供密码 |
STAT | 返回邮箱内的邮件数量和总字节数 |
LIST | 列出邮件编号和大小 |
RETR n | 获取编号 n 的邮件 |
DELE n | 删除编号 n 的邮件 |
NOOP | 空操作,保持连接 |
RSET | 取消所有删除标记 |
QUIT | 结束会话并删除被标记邮件 |
👉 响应格式
- 成功:
+OK <message>
- 失败:
-ERR <message>
4. POP3 简单通信示例
客户端和服务器的交互(明文演示):
C: telnet mail.example.com 110
S: +OK POP3 server ready
C: USER alice
S: +OK User accepted
C: PASS 123456
S: +OK Password accepted
C: STAT
S: +OK 2 320
C: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .
C: RETR 1
S: +OK 120 octets
S: [邮件内容...]
C: DELE 1
S: +OK Marked for deletion
C: QUIT
S: +OK Goodbye
解释:
STAT
:有 2 封邮件,总大小 320 字节LIST
:邮件 1 = 120 字节,邮件 2 = 200 字节RETR 1
:下载邮件 1DELE 1
:标记删除邮件 1QUIT
:结束会话并真正删除
5. POP3 与 IMAP 对比
特性 | POP3 | IMAP |
---|---|---|
默认端口 | 110 / 995 | 143 / 993 |
存储方式 | 下载到本地,默认删服务器 | 保存在服务器,客户端同步 |
多设备同步 | ❌ 不支持 | ✅ 支持 |
适用场景 | 单设备收发,网络不稳定场景 | 多设备、多客户端同步邮箱 |
6. 总结
- POP3 是 下载型协议,特点是简单、快速,但不支持多设备同步
- 常见命令:
USER
、PASS
、STAT
、LIST
、RETR
、DELE
、QUIT
- 常用于老旧客户端或单一设备邮箱收取
- 如果需要跨设备同步,应使用 IMAP
发表回复