邮件服务是Internet上使用最多且最频繁的应用之一。普通用户通过使用自己的用户名、口令可以开启邮箱,完成阅读、存储、回信、转发、删除邮件等操作。如同邮递员分发投递传统邮件一样,电子邮件也是异步的,也就是说人们是在方便的时候发送和阅读邮件,无须预先同别人协同。与传统邮件不同的是,电子邮件既迅速,又易于分发,且成本低廉,再加之现代的电子邮件消息包含了超链接、HTML格式文本、图像、声音、视频数据等丰富的形式,日益受到了人们的喜爱。
邮件系统结构
Internet电子邮件系统采用“存储转发”(Store and Forward)的工作方式,发送方通过邮件客户程序,将编辑好的电子邮件从发送端计算机发出,在网络传输的过程中,经过多台计算机的中转,最后到达目的计算机,送到收信人的电子信箱。图1展示了因特网邮件系统的组成。我们看到,该系统由三类主要部件构成:用户代理、邮件服务器和传输协议。
图1 电子邮件系统构成
用户代理
邮件用户代理MUA是用户和邮件系统的接口部分,用户使用它来创作、阅读、管理自己的邮件。MUA可以使用不同的方法来实现,例如OutLook、Foxmail是运行于Windows系统的MUA;Pine、Kmail是运行在Unix上的MUA;而Hotmail、Yahoo的免费邮件则提供Web方式的MUA,甚至一些邮件短消息、通知之类,也可以看作是MUA的辅助功能。
当MUA将邮件交给邮件系统,邮件系统就需要将它们发送给正确的接收主机,这个任务是由邮件传输代理MTA来完成的。邮件系统的设计与具体的网络结构无关,不管是互联网还是UUCP网络,原则上只要具备理解相应的MTA,邮件系统就可以通过MTA,将邮件从一个主机发送到另一个主机。
当邮件达到目的主机的时候,邮件系统就需要通过邮件分发代理MDA,将邮件发送给具体的用户。一个完整的邮件系统必须提供邮件用户代理MUA支持。
邮件服务器
邮件服务器是电子邮件系统的核心。每个收信人都有一个位于某个邮件服务器上的邮箱(Mailbox)。一个邮件消息的典型旅程是从发信人的用户代理开始,经发信人的邮件服务器,中转到收信人的邮件服务器,然后投递到收信人的邮箱中。当使用者想查看自己的邮箱中的邮件消息时,存放该邮箱的邮件服务器将认证用户名和口令。如果发信人的邮件服务器无法把邮件消息立即递送到收信人的邮件服务器,发信人的服务器就把它们存放在消息队列(Message Queue)中,以后再尝试递送。这种尝试通常每30分钟左右执行一次,要是过了若干天仍未尝试成功,该服务器就把这个消息从消息队列中去除掉,同时以另一个邮件消息通知发信人。
传输协议
简单邮件传送协议(SMTP)是因特网电子邮件系统首要的应用层协议,它的作用是把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议一样,SMTP也存在两个端:在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端。SMTP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。当一个邮件服务器从其他邮件服务器接收邮件消息时,它是作为SMTP服务器在运行。
【相关文章】