关于电子邮件发送中的网络问题
电子邮件的传送过程
电子邮件,可靠的传输是第一位,所以使用TCP协议,目前我们常用的SMTP作为邮件发送协议,常用的POP3作为邮件读取协议。SMTP和 POP3 (或IMAP)都是使用TCP连接来传送邮件的,下面我们基于邮件的发送和接收来简述一下这几个协议
SMTP协议
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息。由于SMTP使用客户服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。至于邮件内部的格式,邮件如何存储,以及邮件系统应以多快的速度来发送邮件,SMTP也都未做出规定。
SMTP规定了在两个相互通信的SMTP进程之间应如何交换信息,负责发送邮件的SMTP进程是SMTP客户,负责接收邮件的进程是SMTP服务器。SMTP规定了14条命令和21种应答信息,总结上面的几句
- 客户端:发送信息的服务器
- 服务端:接收信息的服务器
- 使用TCP进行email信息的可靠传输
- 传输的三个阶段
- 握手
- 消息的传输
- 关闭
- 命令/响应交互模式
命令(command): ASCII文本
响应(response): 状态代码和语句 - Email消息只能包含7位ASCII码
POP3协议
POP3协议是邮件访问协议:从服务器获取邮件,邮局协议( Post Office Protocol, POP) 是一个非常简单但功能有限的邮件读取协议,现在使用的是它的第3个版本POP3
POP: Post Office Protocol [RFC 1939] 认证/授权(客户端<—>服务器)和下载
POP3 采用的是“拉”(Pull)的通信方式,当用户读取邮件时,用户代理向邮件服务器发出请求,“拉”取用户邮箱中的邮件, 首先要进行认证,然后才可以进入事务阶段,进行获取邮件
POP使用客户/服务器的工作方式,在传输层使用TCP,端口号为110
POP有两种工作方式:“下载并保留”和“下载并删除”
(1)用户从邮件服务器上读取邮件后,邮件依然会保存在邮件服务器上,用户可再次从服务器上读取该邮件
(2)下载并删除
邮件一旦被读取,就被从邮件服务器上删除,用户不能再次从服务器上读取
注:POP3是无状态的
IMAP协议
因特网报文存取协议(IMAP), 它比POP复杂得多,IMAP为用户提供了创建文件夹、在不同文件夹之间移动邮件及在远程文件夹中查询邮件的命令,为此IMAP服务器维护了会话用户的状态信息
- 所有消息统一保存在一个地方:服务器
- 允许用户利用文件夹组织消息
- MAP支持跨会话(Session)的用户状态
IMAP允许用户代理只获取报文的某些部分,例如可以只读取一个报文的首部,或一个多部分MIME报文的一部分。这非常适用于低带宽的情况,用户可能并不想取回邮箱中的所有邮件,尤其是包含很多音频或视频的大邮件
POP3和IMAP的区别
POP3协议允许电子邮件客户端下载服务器上的邮件,但是在客户端的操作邮件,是不会反馈到服务器上,比如通过客户端读取了邮箱中的3封邮件并移动到其他文件夹,邮箱服务器上的邮件不会改变
IMAP提供webmail 与电子邮件客户端之间的双向通信
- 点赞
- 收藏
- 关注作者
评论(0)