好的,阿杰 👍
我来给你整理一份 POP3 协议详解,结构化讲解,像学习笔记一样,帮助你彻底搞懂它。


📩 POP3 协议详解

1. 什么是 POP3?

  • POP3(Post Office Protocol – Version 3)
  • 用于 邮件客户端从邮件服务器下载邮件 的协议
  • 默认端口:
    • 110 → 明文传输
    • 995 → POP3S(SSL 加密)
  • 特点:
    • 客户端通常 下载邮件到本地,默认删除服务器端邮件(但客户端可设置保留副本)
    • 协议简单,适合单设备收取邮件
    • 不支持多设备同步(这一点是 IMAP 的优势)

2. POP3 工作流程

典型流程分三步:

  1. 建立连接
    • 客户端连接 POP3 服务器(TCP 110/995)
    • 服务器返回 +OK 表示就绪
  2. 认证阶段(Authorization)
    • 客户端发送用户名和密码验证
    • 成功则进入事务阶段
  3. 事务阶段(Transaction)
    • 客户端可执行操作:
      • STAT → 查询邮件数量和总大小
      • LIST → 列出邮件编号和大小
      • RETR → 下载指定编号的邮件
      • DELE → 删除指定邮件
      • NOOP → 空操作(保持连接)
      • RSET → 取消已标记删除的操作
  4. 更新阶段(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:下载邮件 1
  • DELE 1:标记删除邮件 1
  • QUIT:结束会话并真正删除

5. POP3 与 IMAP 对比

特性POP3IMAP
默认端口110 / 995143 / 993
存储方式下载到本地,默认删服务器保存在服务器,客户端同步
多设备同步❌ 不支持✅ 支持
适用场景单设备收发,网络不稳定场景多设备、多客户端同步邮箱

6. 总结

  • POP3 是 下载型协议,特点是简单、快速,但不支持多设备同步
  • 常见命令:USERPASSSTATLISTRETRDELEQUIT
  • 常用于老旧客户端或单一设备邮箱收取
  • 如果需要跨设备同步,应使用 IMAP