进阶 #network#email#smtp#imap

电子邮件协议(SMTP / POP / IMAP)

电子邮件靠三个协议协同工作——SMTP 负责发信(送到邮件服务器),POP3 负责"下载到本地看",IMAP 负责"在服务器上看"

一封信怎么从 QQ 邮箱到 Gmail?

你用 QQ 邮箱给朋友发了一封邮件——看起来就像按了一个”发送”按钮那么简单。但实际上,这封邮件经历了多个协议和服务器中转。

🏫 类比:中国邮政 vs 私人快递

  • SMTP = 你家楼下的邮筒——你把信投进去,邮递员取走
  • QQ 邮件服务器 = 本地邮局——暂存邮件,找到收件人地址
  • SMTP 服务器间转发 = 邮车——从广州邮政运到北京邮政
  • Gmail 服务器 = 终点邮局——放在收件人的专用信箱里
  • POP3/IMAP = 你打开信箱取信的方式
发件人写邮件


SMTP ──→ QQ 邮件服务器

              ▼  SMTP(服务器之间转发)
          Gmail 邮件服务器

              ▼  POP3 / IMAP(取信)
          收件人读到邮件

SMTP——发邮件,像写封信投进邮筒

SMTP(Simple Mail Transfer Protocol) 把邮件从你的客户端发到服务器,以及服务器之间转发。

当你点”发送”时,你的邮箱客户端实际上在跟 QQ 邮件服务器进行一段对话:

C: HELO smtp.qq.com                    ← 客户端:你好!
S: 250 smtp.qq.com                    ← 服务器:你好,请说
C: MAIL FROM:<sender@qq.com>          ← 发件人
S: 250 OK
C: RCPT TO:<friend@gmail.com>         ← 收件人
S: 250 OK
C: DATA                               ← 开始写信
S: 354 Start mail input
C: Subject: Hello!                    ← 标题
C: This is the email body.            ← 正文
C: .                                  ← 句号结束
S: 250 OK
C: QUIT                               ← 拜拜
S: 221 Bye

💡 SMTP 只负责”送信”——它不管理你收件箱里的邮件。就像邮递员只负责把信塞进信箱,不管你怎么整理信箱里的信。

POP3——“把信从服务器拿下来看”

POP3(Post Office Protocol 3) 把邮件从服务器下载到你的电脑/手机——下载后通常从服务器上删掉。

手机 → 连接 Gmail → 下载所有邮件 → 断开 → 离线阅读

         邮件从服务器删除了

优点: 省服务器空间,离线也能看 缺点: 换手机后历史邮件全没了——因为旧的手机上已经”取走”了

🏫 类比:取报纸 POP3 就像你把信箱里的报纸全拿出来带回家——信箱空了,你手里有报纸。如果你在办公室也想要一份——不可能,报纸已经在你包里了。

IMAP——“邮件留在服务器上”

IMAP(Internet Message Access Protocol) 邮件保留在服务器上,客户端和服务器保持同步——你在手机上读了一封邮件,电脑上也会显示”已读”。

手机 ←→ Gmail 服务器 ←→ 电脑

      邮件统一存放在服务器
      所有设备看到的是同一个"收件箱"

优点: 换设备换平台——邮件都在,已读/未读状态同步 缺点: 需要服务器空间,离线不方便(除非缓存)

🏫 类比:共享网盘的收件箱 你在学校的电脑上写了一篇论文存到网盘——回到宿舍用自己电脑打开,文件还在那里,还能看到上次编辑到哪了。IMAP 就是这样管理邮件的。

POP3 vs IMAP——你选哪个?

# 邮件客户端(比如 Outlook、Apple Mail)配置时
# 你要选:POP3 还是 IMAP?

# 选 IMAP 如果你:
# 手机、电脑、平板都要看邮件 ✓
# 希望标记已读/未读各设备同步 ✓
# 换手机不想丢邮件 ✓

# 选 POP3 如果你:
# 只用一台设备收邮件
# 服务器存储空间有限
# 经常离线看邮件
对比POP3IMAP
邮件存储下载到本地保留在服务器
多设备同步
离线阅读✅(已下载的)⚠️ 需缓存
默认端口(SSL)995993
一句话”取走""同步”

小结

概念用途一句话
SMTP发邮件”放进邮筒”
POP3收邮件(下载到本地)“拿回家”
IMAP收邮件(保持同步)“在线看”
邮件流程客户端→SMTP→服务器→SMTP→服务器→IMAP→收件人”像寄快递一样”

为什么先学这个? 电子邮件是互联网最早的”杀手应用”之一——理解邮件协议就是理解应用层协议设计的经典范例。最后一节看看WebSocket 与实时通信