邮局协议
邮局协议(英语:Post Office Protocol,缩写:POP)是TCP/IP协议族中的一员,由1996年5月发行之 RFC 1939 首次定义。此协议主要用于支持使用客户端远程管理在服务器上的电子邮件。最新版本为POP3,全名“Post Office Protocol - Version 3”,而提供了SSL加密的POP3协议被称为POP3S。
POP支持离线邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是PC机或Mac。一旦邮件下载到PC机或Mac上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。
POP3通信举例
在发送方(客户端)和接收方(服务器)间建立连接之后,接下来是一个合法的POP3会话。在多数计算机系统上,可以在发送的机器上使用telnet命令来建立连接,比如:
telnet www.example.com 110
它打开一个从发送的机器到主机www.example.com的POP3连接。以下对几个常用的pop3命令作一个简单的介绍:
命令 | 参数 | 状态 | 描述 |
---|---|---|---|
user | username | 认可 | 此命令与下面的pass命令若成功,将导致状态转换 |
pass | password | 认可 | |
apop | name,digest | 认可 | 一种安全传输口令的办法,digest是md5消息摘要,执行成功导致状态转换,请参见 RFC 1321 |
stat | none | 处理 | 请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数 |
uidl | [msg#] | 处理 | 返回邮件的唯一标识符,pop3会话的每个标识符都将是唯一的 |
list | [msg#] | 处理 | 返回邮件数量和每个邮件的大小 |
retr | [msg#] | 处理 | 返回由参数标识的邮件的全部文本 |
dele | [msg#] | 处理 | 服务器将由参数标识的邮件标记为删除,由quit命令执行 |
rset | none | 处理 | 服务器将重置所有标记为删除的邮件,用于撤消dele命令 |
top | [msg#],n | 处理 | 服务器将返回由参数标识的邮件前n行内容,n必须是正整数 |
noop | none | 处理 | 服务器返回一个肯定的响应,不做任何操作。 |
quit | none | 更新 | 退出 |
POP协定相关的RFC
- RFC 918 - "POST OFFICE PROTOCOL"(1984年10月)
- RFC 937 - "POST OFFICE PROTOCOL - VERSION 2"(1985年2月)
- RFC 1734 - "POP3 AUTHentication command"(1994年11月)
- RFC 1939 - "Post Office Protocol - Version 3"(1996年5月)
- RFC 2195 - "IMAP/POP AUTHorize Extension for Simple Challenge/Response"(1997年9月)
- RFC 2222 - "Simple Authentication and Security Layer (SASL)"(1997年10月)
- RFC 2449 - "POP3 Extension Mechanism"(1998年11月)
- RFC 2595 - "Using TLS with IMAP, POP3 and ACAP"(1999年6月)
- RFC 3206 - "The SYS and AUTH POP Response Codes"(2002年2月)