计算机网络——应用层之电子邮件(E-mail)
Posted _瞳孔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了计算机网络——应用层之电子邮件(E-mail)相关的知识,希望对你有一定的参考价值。
一:基本概念
电子邮件(E-mail)是目前Internet上使用最频繁的服务之一。电子邮件是以电子方式发送传递的邮件。只要通信双方都有电子邮件地址,便可以电子传播为媒介,交互邮件。Internet上电子邮件系统采用客户机/服务器模式,信件的传输通过相应的软件来实现,这些软件要遵循有关的邮件传输协议。
电子邮件系统的基本组成:
- UA(User Agent,用户代理):该客户端软件用来编写、显示、与本地邮件服务器的通信(发送/接受邮件)。如:Outlook Express, Foxmail等。
- MTA(Message Transfer Agent,消息传输代理):该服务器软件用来传递信件,向发件人报告邮件传送情况(已交付、被拒绝、丢失等)。如:Microsoft exchange Server,Sandmail等。
传送电子邮件时使用的协议:
- 简单邮件传输协议(Simple Mail Transport Protocol,SMTP):用于电子邮件发送服务,也即用于MTA之间以及UA向MTA传输邮件。
- 邮局协议(Post Office Protocol,POP),用于电子邮件接收服务,也即用于收件人从本地邮件服务器中读取邮件。
- 还有其他的通信协议,在功能上它们与上述协议是相同的。
电子邮件地址:
- 用户在Internet上收发电子邮件时,必须拥有一个电子信箱(Mailbox),而每个电子信箱有一个唯一的地址,通常称为电子邮件地址(E-mail Addresses)。
- E-mail地址由两部分组成,以符号“@”分隔,“@”前面的部分是用户名,“@”后面的部分为邮件服务器的域名,如E-Mail地址“yuqi.fan@qq.com”中,“yuqi.fan”是用户名,“qq.com”为网易的邮件服务器的域名。
电子邮件工具:
- 电子邮件应用程序很多,常见的有Foxmail、Outlook等。
二:SMTP命令和传递邮件过程
SMTP命令:
- SMTP是目前使用最广泛的邮件传输协议,该协议基于TCP和C/S方式,服务器端口号为25。
- SMTP发送E-mail的基本思想是接收端(即服务器)在TCP的25号端口等待发送端的信息,发送端向接收端发出连接请求,一旦连接成功,即进行邮件信息的交换,邮件传递结束后释放连接。
- 由于SMTP使用客户机/服务器方式,因此负责发送邮件的SMTP进程就是SMTP客户,而负责接收邮件的SMTP进程就是SMTP服务器。
- SMTP提供了这样一种邮件传输机制
- 当收件方和发件方都在同一个网络上时,可以将邮件直接传送给对方;
- 当对方不在同一个网络上时,需要通过一个或者几个中间服务器来进行转发SMTP。
SMTP传递邮件过程:
- 首先由发件方提出申请,要求与接收方SMTP建立双向通信渠道,收件方可以是最终收件人,也可以是中间转发服务器
- 收件方服务器确认可以建立连接以后,双方就可以开始通信了,发件方SMTP向收件方SMTP发出MAIL命令,告知发件方的身份,如果收件方接收,就回答OK。
- 发件方再发出RCPT命令,告知收件人的身份,收件方SMTP确认是否接收或转发,如果同意,就回答OK,接下来就可以进行数据传输了
- 在通信过程中,发件方SMTP与收件方SMTP采用对话式交互方式,即发件方提出要求,收件方进行确认,确认以后才进行下一步的动作,整个过程由发件方控制,有时需要确认几回才能够实现。
SMTP面向字符,包括14条命令和21种应答组成,常用命令如下:
SMTP传递邮件过程:
三:电子邮件的信息格式
- 一个电子邮件分为信封和内容两大部分。
- RFC 822只规定了邮件内容中的首部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。
- 邮件内容首部包括一些关键字,后面加上冒号。最重要的关键字是:To和Subject。
- “To:”后面填入一个或多个收信人的电子邮件地址。用户只需打开地址簿,点击收信人名字,收信人的电子邮件地址就会自动填入到合适的位置上。
- “Subject:”是邮件的主题。它反映了邮件的主要内容,便于用户查找邮件。
- “抄送:”表示应给某某人发送一个邮件副本。
- “From:”和“Date:”表示发信人的电子邮件地址和发信日期。
- “Reply-To:”是对方回信所用的地址。
四:POP3命令和读取邮件过程
- POP主要用于电子邮件的接收,使用TCP的110端口。POP也使用客户机/服务器的工作方式。在接收邮件的用户 PC 机中必须运行 POP 客户程序,而在用户所连接的ISP邮件服务器中则运行 POP 服务器程序。
- POP是一个非常简单、但功能有限的邮件读取协议,现在使用的是它的第三个版本 POP3( RFC1939 )。
- 当客户机需要服务时,客户端的软件(比如Outlook或Foxmail),将与POP3服务器建立TCP连接。
- 此后,需要经过POP3协议的三种工作状态:
- 认证过程,确认客户机提供的用户名和密码;
- 处理状态,用户在该状态下可以收取自己的邮件或者删除邮件;
- 客户机发出QUIT命令,此后进入更新状态,将做了删除标记的邮件从服务器删除。
POP3常用命令如下:
五:IMAP
- 交互式邮件存取协议(Internet Message Access Protocol,IMAP)也是按客户机/服务器方式工作,现在较新的版本是IMAP4。
- 用户在自己的主机上就可以操纵 ISP 邮件服务器的邮箱,就像在本地操纵一样。因此 IMAP 是一个联机协议。当用户的 IMAP 客户程序打开 IMAP 服务器的邮箱时,就可看到邮件的首部。若需要打开某个邮件,则该邮件才传到用户的计算机上。
- IMAP最大的好处就是用户可以在不同的地方使用不同的计算机随时上网阅读和处理自己的邮件。
- IMAP 还允许收信人只读取邮件中的某一个部分。例如,收到了一个带有视像附件(此文件可能很大)的邮件。为了节省时间,可以先下载邮件的正文部分,待以后有时间再读取或下载这个很长的附件。
- IMAP 的缺点是如果用户没有将邮件复制到自己的 PC机上,则邮件一直存放在 IMAP 服务器上。因此用户需要经常与 IMAP 服务器建立连接。
IMAP4是IMAP的最新版本,其主要特征包括:
(1)与因特网消息标准完全兼容;
(2)许多计算机可以同时访问和管理邮件;
(3)允许通过低效率的文件访问协议来进行访问;
(4)提供对在线、离线以及无连接三种访问方式的支持;
(5)支持共享邮箱的并发访问;
(6)客户端软件不需要了解服务器上的文件存储格式。
必须注意的是不要将邮件读取协议POP或IMAP与邮件传送协议 SMTP弄混。
- 发信人的用户代理向源邮件服务器发送邮件,以及源邮件服务器向目的邮件服务器发送邮件,都是使用SMTP 协议。
- POP协议或IMAP协议则是用户从目的邮件服务器上读取邮件所使用的协议。
SMTP有以下缺点:
- (1)SMTP不能传送可执行文件或其他的二进制对象。
- (2)SMTP限于传送7位的ASCII码。许多其他非英语国家的文字(如中文、俄文,甚至带重音符号的法文或德文)就无法传送。
- (3)SMTP 服务器会拒绝超过一定长度的邮件。
- (4)某些SMTP的实现并没有完全按照RFC 821的SMTP 标准。
六:通用因特网邮件扩充MIME
- MIME没有改动SMTP或取代SMTP 。
- MIME继续使用目前的RFC 822格式,但增加了邮件主体的结构,并定义了传送非ASCII 码的编码规则。
- MIME协议说明了如何安排消息格式使消息可以在不同邮件系统内进行交换,MIME格式灵活,它允许邮件中包含任意类型的文件,可以包含文本、图像、声音、视频以及其他应用程序的特定数据。
三种常用的内容传送编码(Content-Transfer-Encoding):
- (1)最简单的编码就是7位ASCII码,而每行不能超过1000 个字符。MIME 对这种由 ASCII 码构成的邮件主体不进行任何转换。
- (2)另一种编码称为quoted-printable,这种编码方法适用于当所传送的数据中只有少量的非ASCII码的情况。
- (3)对于任意的二进制文件,可用base64编码。
MIME的标准规定Content-Type说明必须含有两个标识符,即内容类型(type)和子类型(subtype),中间用“/”分开。MIME 标准定义了7种基本内容类型和 15 种子类型。除了内容类型和子类型,还允许发信人和收信人自己定义专用的内容类型。
如果有兴趣了解更多相关内容,欢迎来我的个人网站看看:瞳孔的个人空间
以上是关于计算机网络——应用层之电子邮件(E-mail)的主要内容,如果未能解决你的问题,请参考以下文章