邮件服务器是一种用来负责电子邮件收发管理的设备。它比网络上的免费邮箱更安全和高效,因此一直是企业公司的必备设备。
当多个工作组、部门和骨干网连接在一起的时候,企业间需要连网,一个系统连接了很多很多的网络,已经变得十分普遍和重要,电子邮件是因特网上最为流行的应用之
一。如同邮递员分发投递传统邮件一样,电子邮件也是异步的,也就是说人们是在方便的时候发送和阅读邮件的,无须预先与别人协同。[1]
与传统邮件不同的是,电子邮件既迅速,又易于分发,而且成本低廉。另外,现代的电子邮件消息可以包含超链接、HTML格式文本、图像、声音甚至视频数据。我们将在本文中查看处于因特网电子邮件核心地位的应用层协议。但在深入讨论这些协议之前,让我们先概览一下因特网邮件系统及其重要部件。
邮件服务器与其它程序协同工作用以组成有时被称作消息系统的内容。消息系统包括了所有必要的应用程序来保证电子邮件按照应有的路径传送。当你发送电子邮件消息时,你的电子邮件程序,如Outlook或Eudora,发送消息到你的邮件服务器,它再依次发送到其它邮件服务器或同一服务器的保存区,过后再发送出去。作为一个规则,该系统使用SMTP(简单邮件传送协议)或ESMTP(扩展SMTP)来发送电子邮件,使用POP3(电子邮局协议3)或IMAP(因特网消息访问协议)来接收电子邮件。
右上图1展示了因特网邮件系统的高层概貌。我们看到,该系统由三类主要部件构成:用户代理、邮件服务器和简单邮件传送协议(simpleMailTransferProtocol,简称SMTP)。我们将在这样的上下文中说明每类部件:发信人Alice给收传人Bob发送一个电子邮件消息。用户代理允许用户阅读、回复、转寄、保存和编写邮件消息(电子邮件的用户代理有时称为邮件阅读器,不过我们在本文中避免使用这个说法)。Alice写完电子邮件消息后,她的用户代理把这个消息发送给邮件服务器,再由该邮件服务器把这个消息排入外出消息队列中。当Bob想阅读电子邮件消息时,他的用户代理将从他在其邮件服务器上的邮箱中取得邮件。20世纪90年代后期,图形用户界面(GUI)的电子邮件用户代理变得流行起来,它们允许用户阅读和编写多媒体消息。当前流行的用户代理包括Outlook,foxmail等。公共域中还有许多基于文本的电子邮件用户代理,包括mail、pine和elm。
邮件服务器构成了电子邮件系统的核心。每个收信人都有一个位于某个邮件服务器上的邮箱(mailbox)。Bob的邮箱用于管理和维护已经发送给他的邮件消息。一个邮件消息的典型旅程是从发信人的用户代理开始,邮件发信人的邮件服务器,中转到收信人的邮件服务器,然后投递到收信人的邮箱中。当Bob想查看自己的邮箱中的邮件消息时,存放该邮箱的邮件服务器将以他提供的用户名和口令认证他。Alice的邮件服务器还得处理Bob的邮件服务器出故障的情况。如果Alice的邮件服务器无法把邮件消息立即递送到Bob的邮件服务器,Alice的服务器就把它们存放在消息队列(messagequeue)中,以后再尝试递送。这种尝试通常每30分钟左右执行一次:要是过了若干天仍未尝试成功,该服务器就把这个消息从消息队列中去除掉,同时以另一个邮件消息通知发信人(即Alice)。
简单邮件传送协议(SMTP)是因特网电子邮件系统首要的应用层协议。它使用由TCP提供的可靠的数据传输服务把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。跟大多数应用层协议一样,SMTP也存在两个端:在发信人的邮件服务器上执行的客户端和在收信人的邮件服务器上执行的服务器端。SMTP的客户端和服务器端同时运行在每个邮件服务器上。当一个邮件服务器在向其他邮件服务器发送邮件消息时,它是作为SMTP客户在运行。当一个邮件服务器从其他邮件服务器接收邮件消息时,它是作为SMTP服务器在运行。
SMTP在RFC821中定义,它的作用是把邮件消息从发信人的邮件服务器传送到收信人的邮件服务器。SMTP的历史比HTTP早得多,其RFC是在年编写的,而SMTP的现实使用又在此前多年就有了。尽管SMTP有许多奇妙的品质(它在因特网上的无所不在就是见证),但却是一种拥有某些“古老”特征的传统战术。例如,它限制所有邮件消息的信体(而不仅仅是信头)必须是简单的7位ASCII字符格式。这个限制在20世纪80年代早期是有意义的,当时因特网传输能力不足,没有人在电子邮件中附带大数据量的图像、音频或视频文件。然而到了多媒体时代的今天,这个限制就多少显得局促了——它迫使二进制多媒体数据在由SMTP传送之前首先编码成7位ASCII文本;SMTP传送完毕之后,再把相应的7位ASCII文本邮件消息解码成二进制数据。HTTP不需要对多媒体数据进行这样的编码解码操作。
下面我们通过查看一个常见的情形来说明SMTP的基本操作。假设甲给乙发送一个简单的ASCII文本邮件消息:
●甲调用自己的电子邮件用户代理,给出乙的电子邮件地址,写好邮件内容,然后让用户代理发送本邮件消息。
●甲的用户代理把该邮件消息发送到她的邮件服务器中,由邮件服务器把该消息排入某个消息队列中。
●运行在甲的邮件服务器上的SMTP客户端看到消息队列中的这个邮件消息后,打开一个到运行在乙的邮件服务器主机上的SMTP服务器端的TCP连接。
●在乙的邮件服务器主机上,SMTP服务器收到这个邮件消息后,把这个消息投递到乙的邮箱中。
需注意的是,SMTP通常不使用中间的邮件服务器主机中转邮件,即便源端和目的端邮件服务器主机位于地球上相反的位置也一样。假设Aiice的邮件服务器主机在香港,Bob的邮件服务器主机在阿拉巴马州,那么所建立的TCP连接将是这两台服务器主机之间的连接。具体地说,如果Bob的邮件服务器不工作了,那么甲发给乙的邮件消息将存留在甲的邮件服务器中等待新的尝试,而不会存放到某个中间的邮件服务器中。
我们将看到,SMTP协议与人们用于面对面交互的礼仪之间有许多相似之处。首先,运行在发送端邮件服务器主机上的SMTP客户,发起建立一个到运行在接收端邮件服务器主机上的SMTP服务器端口号25之间的TCP连接。如果接收邮件服务器当前不在工作,SMTP客户就等待一段时间后再尝试建立该连接。这个连接建立之后,SMTP客户和服务器先执行一些应用层握手操作。就像人们在转手东西之前往往先自我介绍那样,SMTP客户和服务器也在传送信息之前先自我介绍一下。在这个SMTP握手阶段,SMTP客户向服务器分别指出发信人和收信人的电子邮件地址。彼此自我介绍完毕之后,客户发出邮件消息。SMTP可以指望由TCP提供的可靠数据传输服务把该消息无错地传送到服务器。如果客户还有其他邮件消息需发送到同一个服务器,它就在同一个TCP连接上重复上述过程;否则,它就指示TCP关闭该连接。
我们简单地比较一下SMTP和HTTP。这两个协议都是用于从一台主机向另一台主机传送文件;HTTP用于从web服务器向Web用户代理(即浏览器)传送文件(或对象),SMTP用于从一个邮件服务器向另一个邮件服务器传送文件(也就是电子邮件消息)。在传送文件时,SMTP和持久HTTP都使用持久连接。可见,这两个协议具有一些共同的特征,不过它们之间的差别也是显著的。首先,HTTP基本上是一个内拉式协议(pullprotocol)——有人把信息上传到web服务器中,用户则在方便的时候使用HTTP把这些信息从服务器上拉过来。更确切地说,HTTP连接是由想要接收文件的主机发起的。SMTP则基本上是一个外推式协议(pushProtocol)——发送端邮件服务器把文件推送给接收端邮件服务器。更确切地说,SMTP连接是由想要发送文件的主机发起的。
SMTP和HTTP的第二个重要差别是,SMTP要求包括信体部分在内的每个邮件消息都是7位ASCII文本格式。
请根据以下建议配置服务器硬件,以保证有足够的性能支持Coremail邮件系统的安装和正常运行。
硬盘:采用独立存储设备,或使用服务器本地硬盘,建议采用至少3块以上的SCSI接口硬盘,并设置为Raid5磁盘阵列。对于小站点,磁盘阵列并非强制要求。
磁盘分区和空间:磁盘分区主要包括操作系统和邮件系统两个分区。操作系统建议有20G以上空间;邮件系统分区应根据邮箱用户的空间容量需求确定。例:分配每个用户100M邮箱空间,假如有500个用户,所需空间上限则为50G,则整个邮件系统一共需要70G的磁盘空间。
CoremailXT支持RedhatAS4.0。要求操作系统支持解压tar及gz格式的压缩包;能够支持中文语言环境,建议使用GB相关的语言设置,如zh_CN.GBK。CoremailXT提供了图形化安装界面,如果需要在服务器直接完成安装,请确保服务器的操作系统已安装图形化互联网浏览器(如Firefox)。Windows环境下,请使用IE6.0以上浏览器。
Coremail系统的正常运行需要网络的支持,用户需要保证服务器的物理网络连接顺畅,确保系统所在服务器可正常连通互联网。另外,服务器需要支持/TCP/IP的网络协议,并对以下网络相关内容进行设置。
Coremail系统的正常运行将应用到以下标准端口,请开通服务器的以下对外端口,允许外部的访问(INPUT):
除此以外,Coremail邮件系统还需要访问以下端口,以获得包括反垃圾邮件系统的特征库升级在内的功能(此功能为增值功能),因此请开通服务器以下对外的端口访问(OUTPUT):
为了使Coremail系统正常运行,请确认系统所在环境的防火墙已开通上述端口的访问限制。
为使用户的系统域名能被正确解析为相应服务器地址,邮件服务器需要能够在互联网络上被识别和查找到。这样,邮件系统才能实现邮件的投递和接收。因此,邮件服务器需要对此做DNS设置,包括MX记录和A记录的设置。
不同的域名托管服务商提供的DNS设置方法可能有所不同,请联系域名托管服务商,请求协助进行设置。一般情况下,需要登录域名管理,在MX记录设置页删除所有现有MX条目,并输入新的MX记录以指向Coremail邮件服务器,并保存更改。注意,对MX记录的更改最长可能需要48小时才能生效。A记录通常在同一个地方进行设置。
假设安装完成的Coremail系统预期启用域名:mail点coremail