一、POP3 是什么
POP3(Post Office Protocol version 3,邮局协议版本3),属于应用层协议,基于TCP。
明文端口 110,加密版本POP3S使用 995端口(SSL加密)。
POP3 作用:邮件客户端从邮件服务器上下载邮件。
重点区分:SMTP负责发邮件;POP3/IMAP负责收邮件。
POP3是最经典的收邮件协议,设计思路类似邮局取信:把服务器上的邮件下载到本地电脑,取回之后服务器默认删除原件。
二、POP3 核心模型:MUA ←→ MTA
- MUA:邮件客户端(Foxmail、Outlook等)
- MTA:邮件服务器(存放收件邮件)
客户端主动连接POP3服务器,认证身份,拉取邮件到本地。
三、POP3 的三种会话状态
POP3会话分为3个阶段,状态按顺序切换:
- 认证状态(Authorization)
客户端连接成功后,需要提交用户名、密码,验证身份。认证失败不能操作邮件。 - 事务状态(Transaction)
认证成功,进入事务状态。可以执行查看邮件列表、下载邮件、标记删除等操作。
⚠️ 标记删除只是做标记,不会立刻删除邮件。
- 更新状态(Update)
客户端发送QUIT退出会话,服务器才真正删除所有标记删除的邮件,会话结束。
四、POP3 常用命令
POP3采用命令+响应交互,服务器两种响应:+OK(成功)、-ERR(失败)
| 命令 | 作用 |
|---|---|
| USER | 输入用户名 |
| PASS | 输入密码 |
| STAT | 查看邮件总数、所有邮件总大小 |
| LIST | 列出邮件编号与大小 |
| RETR n | 下载第n封邮件 |
| DELE n | 标记第n封邮件为待删除(会话结束才生效) |
| NOOP | 空操作,维持连接 |
| RSET | 撤销所有DELE删除标记 |
| QUIT | 退出会话,触发服务器执行删除操作 |
五、完整通信流程示例
- 客户端TCP连接POP3服务器110端口,服务器返回
+OK就绪; USER test@xxx.com提交用户名;PASS 123456提交密码,认证通过,进入事务状态;STAT查询:邮件共5封,总大小;LIST查看邮件编号列表;RETR 1下载第1封邮件;DELE 1将1号邮件标记删除;QUIT,服务器收到QUIT,真正删除1号邮件,关闭连接。
如果中途断开连接、没有发送QUIT,DELE标记不会生效,邮件保留。
六、POP3 特点
✅ 优点
- 协议简单,部署成本低;
- 邮件下载到本地,下载完成后断网也可以阅读邮件;
- 可以把邮件保存在本地硬盘,减少服务器空间占用。
❌ 缺点(核心短板)
- 默认下载后删除服务器邮件,多设备不同步。电脑下载邮件后,手机再登录,看不到这封邮件;
- 只支持下载邮件正文,不能在服务器上管理邮件(新建文件夹、移动邮件、标记已读等操作只能在本地生效,不会同步回服务器);
- 无法只预览邮件标题,想要看主题必须把整封邮件下载;
- 不支持多终端状态同步(已读/未读标记不同步)。
补充:部分邮箱支持开启“在服务器保留邮件副本”,这是邮箱服务商扩展功能,并不是POP3协议原生能力。
七、POP3S(加密POP3)
原始POP3(110端口)明文传输账号密码与邮件内容,容易被抓包窃取。
POP3S:基于SSL加密的POP3,端口995,连接建立直接开启加密,现在推荐使用。
八、POP3 vs IMAP 简要对比
| 项目 | POP3 | IMAP |
|---|---|---|
| 核心思想 | 邮件下载到本地,服务器默认删除 | 邮件保留在服务器,客户端只是远程查看 |
| 多端同步 | ❌ 默认不同步(可手动保留副本) | ✅ 已读、文件夹、标签全部多端同步 |
| 邮件管理 | 本地操作,无法在服务器建文件夹 | 直接在服务器操作邮件、文件夹 |
| 带宽 | 下载完整邮件,大邮件消耗流量大 | 可以只下载邮件标题,按需下载正文 |
| 端口 | 110(明文) / 995(加密POP3S) | 143(明文) / 993(加密IMAPS) |
九、POP3 vs SMTP 快速区分
- SMTP:发送邮件,客户端→服务器,服务器→服务器;端口25/587/465
- POP3:接收邮件,服务器→客户端;端口110/995
十、小结
- POP3是应用层TCP协议,用于客户端接收邮件,明文110,加密POP3S为995;
- 会话三阶段:认证 → 事务 → 更新;DELE只是打标记,QUIT才真正删除;
- 设计理念:把邮件取回本地,默认服务器不留副本;
- 最大缺陷:原生不支持多设备邮件同步;多设备同时收邮件的场景,优先选择IMAP。
思考题:POP3开启“服务器保留邮件副本”,为什么依然不能实现多端同步已读状态?
0 条笔记