目录
-
-
- 1. 因特网电子邮件系统的总体情况
-
- 1.1 组成
- 1.2 典型的邮件发送与接收过程
- 1.3 SMTP
- 2. SMTP
-
- 2.1 SMTP通信的3个阶段
- 3. 与HTTP的对比
-
- 3.1 相似点
- 3.2 不同点
- 4. 邮件报文格式
- 5. 邮件访问协议
-
- 5.1 POP3
- 5.2 IMAP
- 5.3 基于Web的电子邮件
-
1. 因特网电子邮件系统的总体情况
1.1 组成
用户代理+邮件服务器(核心)+简单邮件传输协议(SMTP)
1.2 典型的邮件发送与接收过程
从发送方的用户代理开始,传输到发送方的邮件服务器,再传输到接收方的邮件服务器,然后在这里被分发到接收方的邮箱中。当接收方要在邮箱中读取该报文时,包含他邮箱的邮件服务器会鉴别接收方。
1.3 SMTP
因特网电子邮件中主要的应用层协议,使用TCP可靠数据传输服务。
每台邮件服务器上既运行SMTP的客户端,也运行SMTP的服务器端。当一个邮件服务器向其他邮件服务器发送邮件时就表现为SMTP的客户,当邮件服务器从其他邮件服务器上接收邮件时就表现为SMTP的服务器。
2. SMTP
详解
- SMTP传送邮件前需要将二进制多媒体数据编码为ASCII码,并且在使用SMTP传输后要求将相应的ASCII码邮件解码还原为多媒体数据。
- SMTP一般不使用中间邮件服务器发送邮件。
2.1 SMTP通信的3个阶段
- 连接建立
发件人的邮件送到发送方邮件服务器的邮件缓存后,SMTP客户每隔一段时间对缓存扫描一次,若有邮件就用SMTP的熟知端口号(25)与接收方邮件服务器的SMTP服务器建立TCP连接。 - 邮件传送
邮件传送从MAIL命令开始。若服务器准备好接收邮件就回答“250 OK”,否则返回一个代码指出原因。 - 连接释放
邮件发送完毕后,SMTP客户发送QUIT命令。服务器返回的信息是“221 服务关闭”表示SMTP同意释放TCP连接。邮件传送过程结束。
3. 与HTTP的对比
3.1 相似点
都是用于从一台主机向另一台主机传送文件(HTTP是从Web服务器向Web客户,SMTP是从一个邮件服务器向另一个邮件服务器)
3.2 不同点
- HTTP主要是一个拉协议,用户使用HTTP从服务器上拉取信息,TCP连接由想要接收文件的机器发起;SMTP是一个推协议,发送邮件服务器把文件推向接收邮件服务器,TCP连接由想要发送文件的机器发起。
- SMTP要求每个报文采用7位ASCII码格式,传送邮件前需要将二进制多媒体数据编码为ASCII码,并且在使用SMTP传输后要求将相应的ASCII码邮件解码还原为多媒体数据。而HTTP数据就不受这种限制。
- HTTP将每个对象封装到它自己的HTTP响应报文中,而SMTP将所有的报文对象放在一个报文中。
4. 邮件报文格式
邮件首部必须有From: 首部行,和一个To:首部行
“To:”后面填入一个或多个收件人的电子邮件地址
“Subject:”是邮件主题
“Cc:”抄送,表示应给某个发送一个邮件附件
“From:”表示发件人的电子邮件地址
“Date:”发信日期
“Reply-To:”对方回信用的地址,可以与发件人发信时用的地址不同
5. 邮件访问协议
因为SMTP是一个推协议,而接收方的用户代理从接收方的邮件服务器取邮件是一个拉操作,所以需要使用邮件读取协议。
5.1 POP3
邮局协议第3个版本。当用户代理打来了一个到邮件服务器端口110上的TCP连接后,POP3就开始工作。
POP3工作的3个阶段:
- 特许:用户代理发送用户名和口令鉴别用户
- 事务处理:用户代理取回报文,还可以对报文做删除标记、取消删除标记、获取邮件的统计信息。
- 更新:客户发出了quit命令后,结束该POP3会话,此时邮件服务器会删除那些标记为删除的报文。
POP3的特点:
只要用户从POP服务器读取了邮件,服务器就会将该邮件删除。(后续有相应的功能扩充)
5.2 IMAP
网际报文存取协议。可以从任何一台机器上对所有报文进行访问。最大的好处就是用户可以在不同的地方使用不同的计算机,随时上网阅读和处理自己的邮件。
重要特性:
- 服务器将每个报文与一个文件夹联系起来,IMAP服务器维护了IMAP会话的用户状态信息。
- 允许用户代理获取报文某些部分的命令。
缺点:
若用户未将邮件复制到自己的PC机上,则邮件一直是存放在IMAP服务器上,因此用户需要经常与IMAP服务器建立连接。
5.3 基于Web的电子邮件
用户代理就是普通的浏览器,用户和其远程邮箱之间的通信通过HTTP进行。