7. Optional POP3 Commands (可选的POP3命令)
下列POP3命令是可选的. 如果服务器不实现这些命令, 当客户端发出命令时, 服务器必须 (MUST) 返回负面响应.
TOP Command
格式: TOP msg n
参数 (Arguments):
- msg: 消息编号
- n: 正文行数
讨论 (Discussion): 返回消息的头部和前n行正文. 用于预览邮件内容.
示例:
C: TOP 1 10
S: +OK
S: <邮件头部>
S: <邮件正文前10行>
S: .
UIDL Command
格式: UIDL [msg]
参数 (Arguments): 消息编号 (可选)
讨论 (Discussion): 返回消息的唯一标识符 (unique-id listing). 用于实现"在服务器上保留副本"功能.
示例:
C: UIDL
S: +OK
S: 1 whqtswO00WBw418f9t5JxYwZ
S: 2 QhdPYR:00WBw1Ph7x7
S: .
USER Command
格式: USER name
参数 (Arguments): 用户名字符串
限制 (Restrictions): 只能在授权状态下使用
讨论 (Discussion): 识别用户身份. 通常与PASS命令配合使用进行身份验证.
示例:
C: USER alice
S: +OK User accepted
PASS Command
格式: PASS string
参数 (Arguments): 密码字符串
限制 (Restrictions): 只能在成功执行USER命令后使用
讨论 (Discussion): 验证用户密码. 成功后会话进入事务状态.
注意: 密码以明文传输, 应使用TLS加密连接.
示例:
C: PASS secret123
S: +OK Mailbox locked and ready
APOP Command
格式: APOP name digest
参数 (Arguments):
- name: 用户名
- digest: MD5摘要
限制 (Restrictions): 只能在授权状态下使用
讨论 (Discussion): 使用MD5摘要进行身份验证, 避免密码明文传输. 更安全的身份验证方法.
示例:
C: APOP alice c4c9334bac560ecc979e58001b3e22fb
S: +OK maildrop locked and ready
术语表:
- unique-id: 唯一标识符
- digest: 摘要
- AUTHORIZATION state: 授权状态
- TRANSACTION state: 事务状态