基于 POP3 与 SMTP 协议的邮件收发程序的开发
一、设计思想
POP3(Post Office Protocol 3)即邮局协议的第 3 个版本,它是规定个人计算机如何连接
到互联网上的邮件服务器进行收发邮件的协议。它是因特网电子邮件的第一个离线协议标
准,POP3 协议允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时根
据客户端的操作删除或保存在邮件服务器上的邮件,而 POP3 服务器则是遵循 POP3 协议的
接收邮件服务器,用来接收电子邮件的。POP3 协议是 TCP/IP 协议族中的一员,,由 RFC
1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。
POP3 是 TCP/IP 协议族中的一员,由 RFC1939 定义。本协议主要用于支持使用客户端
远程管理在服务器上的电子邮件。提供了 SSL 加密的 POP3 协议被称为 POP3S。
POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户
端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式
是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC 机或
MAC。一旦邮件发送到 PC 机或 MAC 上,邮件服务器上的邮件将会被删除。但目前的
POP3 邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的 POP3 协议。
脱机模型即不能在线操作,POP 不支持对服务器邮件进行扩展操作,此过程需要更高
级的 IMAP4 协议来完成。支持 POP 协议使用 ASCII 码来传输数据消息,这些数据消息可
以是指令,也可以是应答。
SMTP 目前已是事实上的在 Internet 传输 E-Mail 的标准,是一个相对简单的基于文本
的协议。在其之上指定了一条消息的一个或多个接收者(在大多数情况下被确定是存在
的),然后消息文本就传输了。可以很简单地通过 Telnet 程序来测试一个 SMTP 服务器,
SMTP 使用 TCP 端口 25。要为一个给定的域名决定一个 SMTP 服务器,需要使用 MX(Mail
eXchange)DNS。
在 20 世纪 80 年代早期 SMTP 开始被广泛地使用。当时它只是作为 UUCP 的补充,
UUCP 更适合于处理在间歇连接的机器间传送邮件。相反 SMTP 在发送和接收的机器始终
都联网的情况下工作得最好。
SMTP 独立于特定的传输子系统,且只需要可靠有序的数据流信道支持。SMTP 重要
特性之一是其能跨越网络传输邮件,即“SMTP 邮件中继”。通常,一个网络可以由公用因特
网上 TCP 可相互间访问的主机、防火墙分隔的 TCP/IP 网络上 TCP 可相互访问的主机,以
及其他 LAN/WAN 中的主机利用非 TCP 传输层协议组成。使用 SMTP,可实现相同网络上
处理机之间的邮件传输,也可通过中继器或网关是实现某处理机与其他网络之间的邮件传
输。
在 smtp 这种方式下,邮件的发送可能经过从发送端到接收端路径上的大量中间中继器
或网关主机。域名服务系统(DNS)的邮件交换服务器可以用来识别出传输邮件的下一跳 IP
地址。
Sendmail 是最早实现 SMTP 的邮件传输代理之一。到 2001 年至少有 50 个程序将
SMTP 实现为一个客户端(消息的发送者)或一个服务器(消息的接受者)。一些其他的
流行的 SMTP 服务器包括 Philip Hazel 的 exim,IBM 的 Postfix,D.J.Bernstein 的 Qmail,以
及 Microsoft Exchange Server.
由于这个协议开始是基于纯 ASCⅡ 文本的,在二进制文件上处理得并不好。后来开发
了用来编码二进制文件的标准,如 MIME,以使其通过 SMTP 来传输。今天,大多数
SMTP 服务器都支持 8 位 MIME 扩展,它使二进制文件的传输变得几乎和纯文本一样简单。
- 1 -
- 1
- 2
前往页