SMTP/POP3/IMAP

503 阅读3分钟

引言

smtp、pop3、imap是三种邮件传输协议。其中smtp负责邮件发送,pop、imap负责邮件接收。论使用POP3还是IMAP4来获取消息,客户端使用SMTP协议来发送。邮件客户可能是POP客户端或者IMAP客户端,但都会使用SMTP。


SMTP

简单邮件传输协议(port 25),基于TCP,能够跨网域传递邮件。smtp是一种“推”协议,由发送文件的一方首先发起请求将文件发送出去(“拉”协议,如https,接收方主动向发送方发起请求,发送方收到请求后返回资源)。

“SMTP邮件中继”(实现邮件全球传递)

使用SMTP,可实现相同网络上处理机之间的邮件传输,也可以通过中继器或网关实现某处理机与其它网络之间的邮件传输。具有域名服务系统(DNS)功能的邮件交换服务器还可以用来识别出传输邮件的下一跳IP地址。


POP3

(port 995),基于TCP,主要用于客户端远程管理服务器端上的邮件。老版本的POP使用“离线”邮件处理,客户端从服务器端下载邮件,对邮件进行处理,而服务器上的邮件将被删除。目前POP3的邮件服务器都支持“只下载邮件,服务器端不删除”。但POP3仍不是双向的,客户端在本地查看邮件或删除邮件,都不会对服务器端产生影响。


IMAP

(port 143)交互邮件访问协议,是一个应用层协议,运行在TCP/IP之上。与POP3不同,IMAP是双向的,采用IMAP可以直接通过邮件客户端对服务器端的邮件进行操作。

使用POP3,用户只有在下载邮件时才能连接客户端,当所有新信息下载完成,客户端断开连接。使用IMAP,只要用户界面是活动的且下载信息内容是需要的,客户端就会保持与服务器的连接。

对于有很多或者很大邮件的用户来说,使用IMAP4模式可以获得更快的响应时间。

pop3假定当前连接是客户端到服务端的唯一连接,而IMAP允许多个用户同时连接到一个邮箱服务器上,让客户能够感知其他当前连接到这个邮箱的用户所做的操作。

IMAP支持在服务器端保留邮件消息状态,例如邮件是否被读取,回复或删除。这些标识存储在服务器,所以多个客户在不同时间访问一个邮箱可以感知其他用户所做的操作。

支持在服务器上访问多个邮箱。IMAP4客户端可以在服务器上创建,重命名,或删除邮箱(通常以文件夹形式显现给用户)。支持多个邮箱还允许服务器提供对于共享和公共文件夹的访问。

IMAP生来就支持加密机制,也支持密码的明文传输。