第六章 邮件核心协议:IMAP
IMAP(Internet Message Access Protocol)是比POP3更先进的邮件访问协议,支持在服务器端管理邮件。
基本信息
- 标准文档:RFC 3501(IMAP4rev1,最新版本)
- 默认端口:143(普通)、993(IMAPS,加密)
- 工作模式:邮件存储在服务器端,客户端和服务器保持同步
IMAP的核心特性
- 服务器端邮件管理:邮件默认保存在服务器上,支持创建、删除、重命名文件夹
- 多设备同步:所有设备看到的邮件状态(已读/未读、已回复等)完全一致
- 选择性下载:可以只下载邮件头或正文,不需要下载整个邮件和附件
- 服务器端搜索:可以在服务器端搜索邮件,不需要下载所有邮件到本地
- 共享文件夹:支持多个用户访问同一个共享邮箱
- 离线操作支持:客户端可以离线操作,重新连接后自动同步状态
IMAP与POP3的对比
| 特性 | IMAP | POP3 |
|---|---|---|
| 邮件存储位置 | 服务器 | 本地客户端 |
| 多设备同步 | 完美支持 | 不支持 |
| 文件夹管理 | 支持服务器端文件夹 | 不支持 |
| 邮件状态同步 | 已读/未读、标签等状态同步 | 不同步 |
| 选择性下载 | 支持只下载需要的部分 | 必须下载整个邮件 |
| 服务器端搜索 | 支持 | 不支持 |
| 流量消耗 | 低(按需下载) | 高(全量下载) |
| 离线使用 | 支持(需要同步) | 支持(下载后本地有副本) |
| 适用场景 | 多设备使用、需要管理大量邮件 | 单设备使用、注重隐私离线阅读 |
常用IMAP命令
| 命令 | 作用 |
|---|---|
| LOGIN username password | 登录 |
| LIST “” “*” | 列出所有邮箱文件夹 |
| SELECT INBOX | 选择收件箱文件夹 |
| SEARCH ALL | 搜索所有邮件 |
| FETCH 1 (BODY[HEADER]) | 获取第一封邮件的邮件头 |
| FETCH 1 (BODY[TEXT]) | 获取第一封邮件的正文 |
| FETCH 1 RFC822 | 获取完整邮件 |
| STORE 1 +FLAGS (\Seen) | 标记第一封邮件为已读 |
| STORE 1 -FLAGS (\Seen) | 取消已读标记 |
| COPY 1 “Archive” | 复制第一封邮件到Archive文件夹 |
| EXPUNGE | 永久删除标记为删除的邮件 |
| LOGOUT | 退出登录 |
本章小结
IMAP是现代邮件系统推荐使用的接收协议,支持多设备同步和服务器端管理,已成为主流。三大核心协议介绍完毕,下一章我们将讲解邮件格式标准。