Appearance
题目
关于 POP3,正确的是( )。
I 支持用户代理从邮件服务器读取邮件
II 支持用户代理向邮件服务器发送邮件
III 支持邮件服务器之间发送与接收邮件
IV 支持一条 TCP 连接收取多封邮件
错因
B
把 POP3 完全和 SMTP 弄反了——把"发邮件"和"服务器间通信"误以为是 POP3 的功能。实际SMTP 才负责这两件事:用户代理用 SMTP 把信件投递到自己的邮件服务器、邮件服务器之间也用 SMTP 互传邮件。POP3 只做一件事——从邮件服务器把已经到达本地邮箱的邮件下载到用户代理。
C
把 POP3 看成了"邮件协议总称"——既能读、又能发、还能服务器间通信。这是把 POP3 当成万能邮件协议的典型误判。实际邮件系统是双协议分工:发信用 SMTP、收信用 POP3 / IMAP。
D
读邮件(Ⅰ)对、单 TCP 收多封(Ⅳ)对,都判对了;但把"服务器间通信(Ⅲ)"也算给 POP3 是错的。邮件服务器之间的中继完全靠 SMTP(传统的"sendmail""postfix"两侧都是 SMTP 通信),POP3 只在"用户代理 ↔ 自己的邮件服务器"这一端工作。
总解析
第一步:把邮件协议各司其职说清楚
| 阶段 | 角色 | 协议 |
|---|---|---|
| 用户代理 → 自己的邮件服务器(投信) | SMTP | 25 / 465 / 587 端口 |
| 邮件服务器 → 邮件服务器(中继) | SMTP | 25 端口 |
| 用户代理 ← 自己的邮件服务器(收信) | POP3 / IMAP | 110 / 143 端口 |
POP3 在这张分工表里只占一格——客户端把已到达自己邮箱的邮件拉到本地。
第二步:逐项核对
| 命题 | 判定 | 说明 |
|---|---|---|
| Ⅰ 用户代理从邮件服务器读邮件 | ✅ 对 | POP3 的核心功能,用 RETR 命令逐封下载 |
| Ⅱ 用户代理向邮件服务器发邮件 | ❌ 错 | "发"是 SMTP 的事,POP3 协议命令集里没有提交邮件的命令 |
| Ⅲ 服务器之间发送 / 接收邮件 | ❌ 错 | 邮件服务器之间中继是 SMTP,与 POP3 无关 |
| Ⅳ 一条 TCP 连接收取多封邮件 | ✅ 对 | POP3 会话:USER → PASS → 进入事务态 → 多次 RETR + DELE 取多封 → QUIT。整个会话复用一条 TCP,无需为每封信单建连接 |
Ⅰ + Ⅳ → 命中选项 A。
最终答案是 A。
编者注(生僻术语):POP3 的命令集很短——USER / PASS(认证)、STAT(邮箱状态)、LIST(列表)、RETR n(取第 n 封)、DELE n(标删)、RSET(撤销标删)、QUIT(结束并真正删除)。整个会话可以反复 RETR 直到全部取完才 QUIT,所以"一条 TCP 收多封邮件"是 POP3 的标准用法(不是性能优化)。