邮件协议:SMTP、POP3 与 IMAP 的对比
SMTP、POP3、IMAP 三大邮件协议的对比,涵盖发送、接收与同步机制。
#type / synthesis
#tech / network
#discipline / protocols
#status / growing
[!info] related notes
邮件协议:SMTP、POP3 与 IMAP 的对比
为什么放在一起理解
电子邮件系统由两类协议协作完成:发送 和 接收。SMTP 负责把邮件从客户端发到服务器、从服务器转发到另一台服务器;POP3 和 IMAP 负责从服务器取回邮件。三者共同构成了完整的邮件传输链路。
一封邮件的完整旅程
发件人 (MUA) --[SMTP]--> 发件人邮件服务器 (MTA)
--[SMTP]--> 收件人邮件服务器 (MTA)
--[POP3/IMAP]--> 收件人 (MUA)
- MUA(Mail User Agent):用户邮件客户端
- MTA(Mail Transfer Agent):邮件传输代理(服务器)
SMTP(Simple Mail Transfer Protocol,简单邮件传输协议)
定义
SMTP 是用于发送邮件的协议,基于 TCP 协议。它只负责邮件的发送和中转,不负责接收。
端口
- 25:服务器之间转发邮件(MTA -> MTA)
- 587:客户端提交邮件到 MSA(Mail Submission Agent),现代推荐端口
- 465:SMTPS(SMTP over SSL/TLS),已废弃但部分服务商仍使用
工作流程
- 客户端通过 EHLO/HELO 命令与服务器建立连接
- 指定发件人(MAIL FROM)和收件人(RCPT TO)
- 传输邮件正文(DATA 命令)
- 服务器回复状态码(250 表示成功)
MIME(Multipurpose Internet Mail Extensions)
SMTP 最初只支持 ASCII 文本。MIME 扩展使其支持:
- 非 ASCII 字符集(UTF-8 等)
- 附件(二进制文件经 Base64 编码)
- 多段内容(正文 + 附件 + HTML/纯文本切换)
- 头部声明:
Content-Type,Content-Transfer-Encoding
POP3(Post Office Protocol v3,邮局协议第 3 版)
定义
POP3 是用于接收邮件的协议,基于 TCP 协议。它将邮件从服务器下载到本地客户端。
端口
- 110:明文传输
- 995:POP3S(POP3 over SSL/TLS),加密传输
两种模式
| 模式 | 行为 | 适用场景 |
|---|---|---|
| 下载并删除(download-and-delete) | 邮件从服务器删除,只保留在本地 | 单设备、存储有限 |
| 下载并保留(download-and-keep) | 邮件保留在服务器上 | 多设备访问 |
工作流程
- 客户端连接服务器,输入用户名和密码(USER/PASS)
- STAT 查询邮件数量和大小
- LIST 列出邮件列表
- RETR 下载指定邮件
- DELE 标记删除(或保留)
- QUIT 结束会话,服务器执行删除
局限
- 邮件状态(已读/未读/标记)不同步到服务器
- 不支持服务器端文件夹管理
- 多设备间无法同步邮件状态
IMAP(Internet Message Access Protocol,互联网消息访问协议)
定义
IMAP 是比 POP3 更新的邮件接收协议,支持服务器端同步和多设备访问。几乎所有现代邮件客户端和服务器都支持 IMAP。
端口
- 143:明文传输
- 993:IMAPS(IMAP over SSL/TLS),加密传输
核心特性
- 服务器端存储:邮件始终保存在服务器上,客户端只缓存副本
- 状态同步:已读/未读、标记、删除等状态在所有设备间同步
- 文件夹管理:支持创建、重命名、删除服务器端文件夹
- 部分下载:可以只下载邮件头或指定部分,节省带宽
- 搜索:支持在服务器端搜索邮件
工作流程
- 客户端连接服务器,输入用户名和密码
- 选择邮箱文件夹(SELECT INBOX)
- 搜索或列出邮件(SEARCH / FETCH)
- 操作邮件(标记已读、移动、删除)
- 同步变更到服务器
与 POP3 的本质区别
POP3 的设计思路是”下载到本地”,IMAP 的设计思路是”服务器是权威源”。这是两者最根本的差异。
对比表
| 维度 | SMTP | POP3 | IMAP |
|---|---|---|---|
| 功能方向 | 发送 | 接收 | 接收 |
| 默认端口 | 25 / 587 | 110 / 995 | 143 / 993 |
| 传输基础 | TCP | TCP | TCP |
| 邮件存储位置 | 中转,不长期存储 | 本地为主 | 服务器为主 |
| 多设备同步 | 不适用 | 不支持 | 支持 |
| 服务器端文件夹 | 不适用 | 不支持 | 支持 |
| 带宽效率 | 不适用 | 下载全部 | 支持部分下载 |
| 适用场景 | 邮件发送/中转 | 单设备、离线阅读 | 多设备、云端同步 |
| 现代地位 | 仍在使用(发送必经) | 逐渐被淘汰 | 主流接收协议 |