Appearance
题目
下列关于 SMTP 协议的叙述中,正确的是( )。
I. 只支持传输 7 比特 ASCII 码内容
II. 支持在邮件服务器之间发送邮件
III. 支持从用户代理向邮件服务器发送邮件
IV. 支持从邮件服务器向用户代理发送邮件
错因
B
漏掉 III(UA → 服务器发邮件,对的),错入 IV(服务器 → UA 发邮件,错的)。错的根源:把"客户端拉邮件"和"客户端推邮件"混淆——SMTP 只负责"推"(发邮件、中继),"拉"是 POP3 / IMAP 的事。
C
漏掉 II(服务器间发邮件,SMTP 的核心场景),错入 IV。错的根源:把"邮件服务器"理解成"被动只收不转"——实际邮件服务器之间用 SMTP 互相中继,是 SMTP 工作的主战场。
D
漏掉 I(7 位 ASCII 限制),错入 IV。错的根源:忽略 SMTP 的 ASCII 限制(这是 SMTP 历史遗留特征);同时误以为 SMTP 也能反向把邮件推到 UA。
总解析
SMTP 协议四条命题逐项判定:
| 命题 | 内容 | 判定 |
|---|---|---|
| I | 只支持 7 位 ASCII | ✅ 对(SMTP RFC 821 设计上限制;非 ASCII 内容必须 MIME 编码) |
| II | 服务器间发邮件 | ✅ 对(多个邮件服务器之间用 SMTP 中继转发) |
| III | UA → 邮件服务器发邮件 | ✅ 对(用户用 SMTP 把邮件投递到自己的邮件服务器) |
| IV | 邮件服务器 → UA 发邮件 | ❌ 错(这是 POP3 / IMAP 的功能,SMTP 不做"推送"到客户端) |
SMTP 工作场景示意:
[发送方 UA] --SMTP--> [发送方邮件服务器] --SMTP--> [接收方邮件服务器]
↑
POP3/IMAP(接收方 UA 主动拉)
[接收方 UA]注意 IV 项的方向问题:接收方 UA 是主动用 POP3 / IMAP 拉取邮件,不是邮件服务器主动推给 UA。SMTP 协议设计就是单方向"投递"协议——UA → 服务器、服务器 → 服务器,从不反向。
核对:
| 选项 | I | II | III | IV | 判定 |
|---|---|---|---|---|---|
| A | ✓ | ✓ | ✓ | ✗(不入选) | 正确 |
| B | ✓ | ✓ | ✗(漏) | ✓(错入) | 错 |
| C | ✓ | ✗(漏) | ✓ | ✓(错入) | 错 |
| D | ✗(漏) | ✓ | ✓ | ✓(错入) | 错 |
最终答案是 A(仅 I、II 和 III)。
编者注(生僻术语):SMTP / POP3 / IMAP 三种邮件协议各司其职——
- SMTP(端口 25 / 465 / 587):发送邮件用,无论是 UA 推给自己的服务器、还是服务器之间互转。单向"推"协议
- POP3(端口 110 / 995):客户端下载邮件到本地,下载后服务器通常删邮件
- IMAP(端口 143 / 993):客户端在服务器上操作邮件(多端同步、邮件夹结构),不下载
"邮件服务器 → UA 发邮件"这一条不属于任何标准协议——客户端永远是"主动拉"或"主动推"的一方。