本文总结了主要的企业级电子邮件解决方案的要点。针对一般用者对邮件核心构架运作原理不明了清晰,重点讲述各个方案的架构运作,以及成功安装的要点。本文提供了各个方案的对比和特点,供系统分析员选项方案时参考。
前言;
         本文总结了主要的企业级电子邮件解决方案的要点。针对一般用者对邮件核心构架运作原理不明了清晰,重点讲述各个方案的架构运作,以及成功安装的要点。本文提供了各个方案的对比和特点,供系统分析员选项方案时参考。
         本文假设读者是具有相当经验的 linux 服务器使用者,能够熟练地进行 configure,make-makeinstall patch 的操作,并能从 README INSTALL 以及配置文件说明上获取基本的操作过程指导。本文不是傻瓜式的一步步的操作指导,仅提供标准文档不足和错误的更正。是标准操作文档的加强和补充。在可能的时侯,本文提供获取额外操作指导文档的路径。
         本文最终目的是评估所有可行的解决方案,为开发产品级的邮件服务器提供基础的解决可行性评估、试验的总结。并提供简单的市埸分析和产品策划。只要有可能,当在一个月内可以推出硬件成本。
        
目录:
1、   基础知识;
1)   MTA MDA MUA
2)   Linux Email 的一般形式
3)   DNS 域名解析
4)   Linux Email 的一般实现形式
5)   IMAP 的实现
6)   ESMTP
2、   Linux Mail 解决方案的要求;
1)   对收发信性能的要求;
2)   可扩展性和安全性
3)   提供集成度
4)   开发量要少
5)   TLS
6)   虚拟主机
3、   Linux Mail 解决方案详解;
1)   qmail 方案 (qmail+vpopmail+mysql);
a)          简述;
b)         功能指标;
c)          所需软件;
d)         系统架构;
e)          安装;
f)          系统管理及工具;
g)          LDAP
h)         IMAP
i)           TLS
j)           缺陷和改进余地
2)   postftx 方案 ;
a)          概念说明:
                                                                                 i.              Cyrus SASL;
                                                                                ii.              PAM;
                                                                              iii.              Berkerley DB;
b)         简述;
c)          功能指标;
d)         需要软件;
e)          架构;
f)          安装;
g)          LDAP 实现;
h)         IMAP 实现;
i)           缺陷和改进余地
 
3)   courier 方案( courier-mta +imap +mysql + mailadm
a)          功能指标
b)         需要软件;
c)          架构;
d)         安装;
e)          LDAP
f)          缺陷;
4、   其他的可能方案;
a)          其他部分 Linux 商业方案
b)         跨平台 JAMES 方案;
c)          Lotus Mail 方案;
d)         WINDOWS 方案;
                                                                                 i.              普通 Mail 邮件;
                                                                                ii.              Exchange server
 
 
 
 
对于普通的 EMAIL 用户来说,电子邮件也就是所面对的就是一个收发邮件的终端界面,也就是 OUTLOOK EUDORA FOXMAIL 之类,实际上,只是一个邮件客户端中的一种,(另一种是电子邮局软件),也就是我们所说的 MUA MUA 是依靠 MTA ,邮件传输入代理,进行工作的,在收信时,则通过电子邮局软件, MDA ,用 POP IMAP 协议收取邮件。
一、基础知识:
 
1)         MTA MDA MUA
对于普通的 EMAIL 用户来说,电子邮件也就是所面对的就是一个收发邮件的终端界面,也就是 OUTLOOK EUDORA FOXMAIL 之类,实际上,只是一个邮件客户端中的一种,(另一种是电子邮局软件),也就是我们所说的 MUA MUA 是依靠 MTA ,邮件传输入代理,进行工作的,在收信时,则通过电子邮局软件, MDA ,用 POP IMAP 协议收取邮件。
在一般印象中,邮件是典型的异步传输方式,邮件传递时接收方无需在线。但实际上,这只是一种假象,邮件传送其实是一种实时的信息交换,完成这种交换的是 MTA ,邮件传送代理,使用的是 SMTP 协议。在一般的传送过程中,用户的 MUA ,象 FOXMAIL ,与邮件服务器的 MTA 程序实时传递信息,与 FOXMAIL 通过 MTA 完成实时的信息传送的是 MDA ,另一个 SMTP 的客户,它代替用户随时随刻地收取发来的邮件。正是通过 MDA ,也就是我们通常所说的电子邮局软件,才把实时的信息传送转变为异步邮件通讯。
因此,电子邮件是由三种软件完成的, MUA MDA MTA
MTA 一般有 sendmail,qmail,postfix;
MDA 一般如 uw imapd, cyrus imapd, vpopmail, qpopmail 等;
组合式的如 JAMES,  courier mail server
 
2)       Linux Email 的一般形式;
Linux 邮件的一般形式大致可以分为三个级别:
a)          主机级邮件:主要为配合多用户环境的通信,如登录时看到的你有什么邮件之类的就是这种邮件。 Sendmail mail 这类邮件软件最初就是为了这种方式而设计的,这也是令生于互联网而开始接触 linux 邮件的人所易困惑的。
b)         工作组级邮件:类似于主机级邮件,换言之是几台主机级的邮件。由于 linux 与网络的天然集成,因此,主机级的邮件与工作组级邮件是天然集成的。
c)          工作群组邮件:针对局域网多个工作组(群)的邮件方案,有时又称群件。是工作组级邮件的升级。微软的 ExchangeServer IBMdomino 本质上都属于这一级邮件。 Linux 普通邮件也天然具备工作群组的工作能力。但默认功能也到此为止;
d)         企业级群件:与前者相比,主要体现为多个局域网,及漫游客户,并要求具备如 IMAP 这样的高级功能。要求提供 TLS 安全,在客户端可能要求 PGP 加密。 ExchangeServer IBMdomino 最新版本接近这一要求,不过并不能完全达到。
e)          ISP 企业级邮件:个体要求低于企业级群件,但要求可以提供给多个客户,特点是虚拟主机;
f)          ASP 企业级群件:是 d e 的合并。 ExchangeServer IBMdomino 均不具备达到这一级邮件的能力,但高极的 linux 方案可以提供这一解决可能。
g)          ISP 个人共享邮件:特点是用户多,功能简单。
 
Linux 继承 Unix 的传统,在系统中直接提供邮件收发的功能,换言之,在系统中完全包含了 MTA MDA MUA ,典型的配置是 MTA:sendmail, MDA: uw imap; MUA:mailx kmail.  从前直接在 Linux/UNIX 上通过 mail 命令收发信件,其实是使用了自带的 MUA mail mailx )命令,其实是 MUA 的操作命令,而不是真正的邮件( SMTP )命令。
Linux 的原有的邮件系统是针对 a,b,c 三种应用设计的,对性能和用户管理要求都不高,作为专用的 Mail 服务器会有几个缺点:一是管理麻烦,二是要使用系统用户,三是对大量用户的使用性能不佳,四是系统是针对局域网邮件设计的,用于互联网重新设置麻烦透顶。因此,必须使用更新的邮件方案,才可以令 Linux 承担邮件服务器的工作。
                 
3)       DNS 域名解析
MTA 是依靠 DNS 域名解析获得接收方的 MTA 的邮件地址的,因此,有效的 DNS 解析是邮件服务器运作的前提。作为默认的, MTA mail.domainname 作为目标域邮件服务器。因此, 当一个客户机向[email]test@example.com[/email] 请求服务时,实质是向 mail.example.com 服务器请求服务。
 
4)       Email 的一般实现方式和简介;
MTA 作为基本分类,在 Linux 上主要有 sendmail qmail,postfix 三种基本方案。而在非 UNIX 平台上,主要有 domino server ms exchanager.  
Sendmail 作为基本 MTA ,在一般的 unix 系统中是最广泛的,据说每天有三亿封邮件通过 sendmail 发送,占了 70% 以上的通信量。但 sendmail 在大型和正式商业系统中的使用却是最少的,原因在于它的配置和使用的确麻烦。因此, snedmail 的使用,主要是在小型工作组平台领域,这与 WINDOW2000 的使用环境是一样的。两者都是适用于 a,b,c 三种环境,且用户数不能多。
Qmail 是作为 sendmail 的升级版本设计的,重点考虑了安全、性能、使用简便性这些问题,是目前 sendmail 替代品中最广泛的方案。 Qmail 是一个成熟的软件,有大量的配套软件与之配合,理论上可以完成邮件服务器的任何功能。但是 Qmail 最大的问题是它采用 GPL 版权原则,换言之,别人是不能改它的代码,或者改了也必须完全发布。这就造成了 Qmail 的配套软件五花八门,给人一种非常混乱的感觉。对于配置出一台较完善的服务器,使用 Qmail 还真不是一件容易事,我没有觉得它比 sendmail 更容易配置。当达到企业级或群件时,非常困难。但 Qmail ISP 共享邮件的理想解决方案。
Postfix 是近一两年来开发的另一种 sendmail 的替代软件,就安全和性能而言不亚于 qmail ,而且它的使用与 sendmail 完全兼容,本身也相当方便。仅从 MTA 的角度看, postifx qmail 更优秀。
 
Unix/Linux 基础上的电子邮件毫无疑问占据了绝大部分的份额,特别是在大型系统上几乎是一统天下,但除此外仍有一些非 Unix 的电子邮件在一些特殊的场合发挥着关键性的作用。其典型代表就是 IBM Domino 和微软的 Exchange server.  这两款服务器互为强劲的竞争对手,前者是 IBM 的群件产品 Domino 的基础交换协议,与 DOMINO OA 功能高度集成;而微软的 Exchange server 则与 outlook 客户端配合紧密,有公共地址本。这两类邮件都是在小范围内邮件服务器,优点是使用简单,缺点是功能单一(基本上就是邮件和一些相关的功能),并且都缺乏与其他系统集成的能力。
 
5)       IMAP 的实现
IMAP 本质上是加强了客户端阅读邮件标题的能力,并把邮件服务器作为文件服务器使用。对于 ISP 的邮件服务来说,最大的好处就是可以到处去而不必担心邮件在不到的客户端的同等访问,缺点就是需要更大量的服务器投资。而对于用户数量更有限而客户机可能偏于弱小的情况下, IMAP 是一种更合意的选择。
但是 IMAP 的实现较之 POP3 要复杂很多。如果仅仅是在系统基本帐号上生成,倒还好办,使用 uw IMAP 就可以了,但如果要使用如数据库或 LDAP 存储帐号,并且登录帐号与 POP3 认证、 SMTP 认证一致,那么问题就要复杂得多。到目前为止,按本人的试用结果,除了 uw IMAP 外,只有 Cyrus IMAP 是可用并具有可轻易集成的。使用 Courier IMAP 也可以完成类似的工作,仅仅是集成 SMTP 认证比较困难。
在客户端而言,目前支持 IMAP 的客户端工具不算太多, outlook Express 是支持的,但直到 outlook 2000 版本,仍仅是支持 POP3 ,最后,对于相当数量的用户来说,集成管理 IMAP 服务器(如文件夹)以客户端访问不容易。
总的来说, IMAP 是一种思路新颖而先进的新的邮件协议,但应用上还不成熟,短期内不会给用户带来太明显的效益,而实现成本较高。最终是否可以取代 POP3 也难说得很,因此,目前在系统上推得 IMAP 应该仔细衡量得失。
 
6) ESMTP(SMTP AUTH)
ESMTP 即扩展 SMTP ,说穿了就是 SMTP 认证,也就是发信时也要出示用户名和密码。由于垃圾邮件猖狂,没有 ESMTP 功能,邮件系统根本就工作不了。但邮件系统大多数是 SMTP POP3 分别工作的(参看第一节 MTA MDA MUA ),要令 SMTP POP3 甚至 IMAP 共用一套帐号,意味着大量的程序修改工作,甚至是邮件系统的重写,而这些帐号如果还不能是系统账号,则问题更加复杂了。
邮件系统为何复杂而具有相当难度,这是一个很重要的因素。
 
 
 
这里指的主要是软件配合上的要求,正常情况下,邮件服务器对性能要求并不算高。
 

二、 Linux Mail服务器要求;
1、   一般概念中的 Linux邮件服务器要求和不适用;
如此所言,主要针对 a,b,c及 ISP免费邮件的类型,目前国内几乎所有的解决方案都是指这几种。
另一方面,无论是 UNIX还是 WINDOWS2000默认支持的 SMTP和 POP3服务都不适合于专用服务器,这类服务器的一个共同特点就是针对工作组服务的,甚至是针对 主机级别的收发信的,这种应用,在现实生活中基本上是不存在的。把它用到企业互联网邮件上,要么被垃圾邮件摧毁,要么就是只能几个 IP使用,要么就是配置复杂得不得了,而性能差到极点。
这两种服务器方案都不适用,偏偏能够找到的资料绝大部分是针对这两类应用的。
 
2、   服务于企业应用系统的邮件服务的技术要求;
对于以企业应用的邮件系统来说,每天收发百万封信,基本上已是绰绰有余,充其量是数百万封,超过这个数目,其实是没有多少必要的。对 linux中的几种 mail服务器,基本上可以以 PII达到这个要求的十倍以上。而无论是 domino还是 Exchange,就需要相对强大得多的机器,及专用的操作系统,通常成本就达 10万元以上。
应该使用非系统帐号,并且系统帐号与其他应用系统应能使用同一账号登录,并共享同一用户信息;换言之,帐号资料(包括密码)应该存放在公共的数据系统中,象数据库或 LDAP等;
企业涉及的用户数一般不足万人,但要求用户可以自已修改个人密码,为防止垃圾邮件,要求能够提供 SMTP认证,且最好是与 POP共用密码认证。且应支持 TLS传输加密。
最后是使用相对方便。
              本文主要讲述使用 mysql作为用户数据载体。
 
为什么不使用 LDAP
                  这是一个很好的问题。作为未来, email 账号使用 ldap 很可能是一个标准,但今天,客户机使用 ldap 还很不成熟悉,导致配置复杂、错误太多、缺乏广泛的访问工具,反而是画虎不成反类犬 ; 相反, mysql 速度快、性能可靠,访问工具丰富,移植也相当方便。在 mail 服务器上,以读为主, mysql 缺乏事务处理和兼容 ansySQL 的弱点没有太大的影响。这是首选 mysql 的原因。
                  使用 ldap 通常需要另外开发相应的管理程序,如允许用户修改密码之类。因此,使用 LDAP 存储帐号,需要考虑如何使用象 SQL 那样简便的工具查询帐号的问题。
 
3、   应用软件尽可能由同一项目组开发,提供集成度;
对于可选方案来说,优先选用高集成度,特别是单一项目的产品,如:使用 Courier mail时尽可能使用 courier IMAP,使用 Cyrus SASL就尽可能选用 Cyrus IMAP,等等。
 
4、   自已的开发量要少;
选用开源邮件方案不是为于演示自已的能力,而是在开发时间和成本上获得利益,如果变成是自已大量开发,目的是炫耀开发了一个邮件服务器的话,那么这个天才的脑袋是用猪油灌的。
 
                   5、 TLS(传输安全层)
TLS并不等同于 SSL,准确的说, SSL是 TLS的一种实现形式。在网络上公开传递密码和敏感资料是相当危险的,比较可靠的方式,是使用 TLS加密。
Smtp Auth比较复杂,原因是大量邮件必须使用无加密 TLS,而 Smtp Auth又必须传递密码。在最新的 ESMTP中,直接约定了 smtp auth、 smtp、 TLS的集成方式。当指定需要 TLS的,只需 STARTTLS就可以进入 TLS会话。遗憾的是,我最喜欢用的 foxmail不支持 TLS(也不支持 IMAP),看来张小龙的团队是江郎才尽了。
对于 POP3和 IMAP,实现方式相对简单一些,除了象 Cyrus, Courier这样的软件已经直接可以提供 TLS外,还可以使用 Stunnel外接使用 SSL,这也是大多数 Mail解决方案供应商的主要实现方式,尽管可靠性远不及集成到各自软件之中。
另一方面, POP3和 IMAP的实现也并不上 smtp auth先进,没有兼顾明文和 TLS,系统必须另开新的端口,象 995提供 pop3s这样的功能。
 
6、虚拟主机;
近来 ISP生意难做,一台大主机维护几个企业邮件域不但成本不菲,而且收费无多,竞争激烈,其实没有什么赚头。一个企业内维护几域,大致以于企业集团是有效的。主要的几种邮件系统均支持虚拟主机。
同理,以一个服务器能够处理多少多少千万邮件客户,也是没有什么意义的。
 
 
qmail是目前使用最广泛的一种,基本上各种要求的功能都会有相应的软件配套支持。它的缺点是太散乱,缺乏集成,用项目的话来说就是不干净,缺乏归档集成。对于大型 ICP, ISP等有固定的管理人员或者不算是一个缺点,但对于一般的公司客户,它的日常管理配置工作就显得太夸张了。另一方面,对于大型的高级应用, Qmail的功能和发展余地都有所欠缺。
 
 
 

二、 Linux mail解决方案详解;
1、qmail方案;(Qmail+vpopmail+mysql+ucspi-tcp)
a)  简述:
qmail是目前使用最广泛的一种,基本上各种要求的功能都会有相应的软件配套支持。它的缺点是太散乱,缺乏集成,用项目的话来说就是不干净,缺乏归档集成。对于大型ICP,ISP等有固定的管理人员或者不算是一个缺点,但对于一般的公司客户,它的日常管理配置工作就显得太夸张了。另一方面,对于大型的高级应用,Qmail的功能和发展余地都有所欠缺。
 
Qmail是否易于配置使用,分歧颇大。实际情况是,如果要求相当简单、单一,qmail的使用相当简单,网上基本上有成功的例子供你照搬,但如果要求复杂起来,象需要使用mysql或ldap,需要imap,需要smtp auth,需要虚拟域,需要web界面等等,以上任一两个功能都不难实现,但全部要实现,就会发现实际成功的例子很少,一般是没有。原因就在于qmail的散乱和缺乏集成,各个软件以qmail为蓝本打补丁,互不配合,等到必须互相配合才能形成功能时,难度便突然加大,以至成功的案例却不算太多。事实上,由于多个补丁来自各自截然不同的开发组团,以至于经常出现指定补丁的基础版本不一,连编译也过不去,程序语法出现严重的错误的并不少见。
Qmail本身集成了pop3d,但只提供了使用其本身的cdb存储帐号的方法,而没有提供使用其他的方法。其次,qmail本身不提供网络监听,所以所有的服务,包括pop3d必须通过tcpserver才能启动。这种启动的复杂性,导致了五花八门的辅助工具,进一步加大了使用Qmail的复杂性。
因此,使用QMAIL很难满足在提供smtp auth\pop3\imap的工作条件,同时不能使用系统帐号。已有的声称可以使用courier IMAP提供在qmail+vpopmail基础上提供IMAP服务的的方法,许多其实作者自已都没有弄出来,事实上,它必须修改courier IMAP的代码。要求的额外性能,其实是新的公共协议的要求,Qmail所要求的补丁就越多,问题就越显得复杂。
Qmail方案最大的毛病就是特定功能的补丁太多,加上补丁自已有版本,打上几重补丁,到底谱系继承谁是谁非,怕是谁都说不清,加上各个补丁本身带有版本,不同的版本相互间基本上是无效的,复杂性也就呈级数增加。所以对Qmail系统的性能要求一高,Qmail的可用性就越差。
最根本的原因就是Qmail的作者的设计目标仅是提供主机级的邮件服务,也就是在小组网内专用于维护的那种mail,因此,当Qmail用于更高级的互联网通信时,立刻就不合用了;其次,Qmail奇怪的版权模式限制了对Qmail的有效改进,其他人只能以打补丁的模式增加功能;最后,qmail开发时就是仅为了系统级代替sendmail而设计的,居然连tcp监听也没有考虑,(换言之,作者开始很可能没有考虑到要把mail发到主机以外),qmail要工作,必须另外一个辅助软件ucspi-tcp提供网络监听,更不用提smtp-auth了。
优点:
应用案例和参考文章都比较多;
使用时间较长,功能较全、较稳定
缺点:
文档方面偏向于简单的多,复杂可用的方案文档很少(变相反映出成功的案例不多);
新的先进的标准和协议支持不够;
缺乏坚实的系统机制支持;
架构散乱,本质上是一大堆补丁程序补出来的产物;
极度缺乏集成;
对ESMTP严重缺乏支持。
总结:适合中小型的简单应用,但与sendmail相比是50步笑100步而已。建议大型应用或产品方案,坚决避免使用qmail作为基本解决方案。
适用:a,b,c,g四种类型;
 
b)       基本功能指标;
                                                                   i.              POP3,STMP服务;
                                                                  ii.              POP3及SMTP使用同一帐号进行认证;
                                                                iii.              支持SMTP认证功能;
                                                                iv.              使用mysql存贮邮件帐号;
                                                                  v.              支持虚拟主机;
                                                                vi.              提供命令行维护工具;
                                                               vii.              提供简易Web界面维护工具;
                                                             viii.              提供用户自我维护工具;
                                                                 ix.              提供Webmail工具;
 
c)        需要软件:
Qmail-1.03 MTA工具;
Vpopmail5.0 邮件域、账号、密码管理工具;
Mysql 存贮用户帐号资料;
Ucspi-tcp 提供网络监听;
Chekpassword 提供访问认证;
可选:
daemontools, 提供Daemon维持性能;
sqsignup, 提供用户自行申请帐号功能,对免费Email有用;
webadmin, 提供用户自我管理,如修改密码功能;
passwordmd5; 支持MD5密码;
 
重要的工具和概念——patch
         Larry Wall提供的diff:patch工具,被Larry Wall本人认为较发明Perl更重要的作品。实际上patch也确实是Linux成长过程中最重要的因素之一。Diff 用于对比文件和目录(含包含的文件)的不同,并把输出存为patch格式;而patch命令是diff的反向命令,使用patch可以使用文件及目录回复到原来的模样。
#diff -c -r dir1 dir2 >  1.2.patch
将生成一个1.2.patch的文件;在与dir2一样的目录中运行
#patch < 1.2.patch
将获得dir1一模一样的目录和文件。通过这一工具,可以令系统不停的升级,这也是Linux升级内核而不是重装的重要途径。
Patch的成功,最重要的因素是保证dir1,dir2目录的一致,如果两者基础不一致,patch是没有意义的。这也是目前网上补丁程序失败的重要原因,关键就是版本不一致,缺乏版本的管理。
 
d)       系统架构;
                                       i.      vpopmail
Vpopmail提供域管理,帐号管理,用户认证,负责使用外置存贮工具存贮用户帐号的功能实现。它不是必须的,但却是繁杂的Qmail方案的有效简化工具,因为减少了补丁的使用,而提供了可靠性。类似的软件还有vMailMgr。
                                      ii.      ucspi-tcp;
UCSPI-TCP是一个非常重要的工具,它令Qmail能在主机以外真正提供邮件服务。Qmail本身不带网络监听,如果要把信发到主机以外,需要补丁软件,一般是ucspi-tcp,也就是tcpserver命令。象命令:
 
#tcpserver  /var/qmail/bin/qmail-popup xxx.com /var/qmail/bin/auth_pop /var/qmail/bin/qmail-pop3d "Maildir" &2<1
 
如此长长的一串,说的是tcpserver通知qmail-popup向xxx.com提供pop应听服务,由auth_pop进行口令验证,pop服务由qmail-pop3d提供。理论上,也可以让tcpserver让其他进程也提供网络服务。如果有其他方法提供用户口令认证,就把auth_pop更替,象checkpassword,vchkpw之类。启动smtp也是如此类推。
 
                                    iii.      checkpassword;
checkpassword是必须的,但最终只要它的一个程序,它作为一个补丁存在,不用它,无法提供smtp auth功能,打完补丁后,又要把主要功能让给如vpopmail的vhkpw进行。由此可见Qmail体系的混乱。
 
使用checkpassword和相应的patch,令qmail使用系统帐号实现pop3和smtp认证;然后再使用vpopmail的vchkpw作为checkpassword的补丁令qmail不使用系统帐号。最后,由vchkpw完成与外置数据库存储的帐号的存取和认证工作。理论上可以使用其他数据库,包括oracle和ldap,oracle估计是可以的,但必要性不大,而vchkpw使用ldap根本上是一个失败的项目。连作者自已也承认,这东西动不了。
由于 qmail的安装是多个补丁的次序替补,所以顺序是非常重要的。

     安装:
 
由于 qmail的安装是多个补丁的次序替补,所以顺序是非常重要的。
首先是安装 qmail。 Qmail安装前必须生成两个指定组 nofile及 qmail,以及七个用户,分别是 alias,qmailr,qmaild,qmails,qmailq,......我也忘了,看 INSTALL!
#make setup check后
#./config
在配置时需要配置默认的传递域和主机 rcphost,(记得第一节第 2点说到的主机和工作组邮件吗?),这时 Qmail会通过 DNS正向和逆向查询域名和 IP,填入配置文件中。实际上,都于打算用于因特网的使用者来说,这一步是不必要的,(你说 DJB是不是闲着没事干?多此一举),但少了它 Qmail还干脆罢工。在此前,甚至连 BIND8也不能满足它的要求。如果不配的话会如何?那么当你在客户端发信时,就很可能得到 550 error, you do not in rcphost list这样的错误。要跳过去的话也可以,可以手工生成 rcphost,me, defaultdomain, hostname这样几个文件。
不过, DJB这样干也是有道理,众所周知,垃圾邮件是一大公害,如果不这样,邮件服务器就变成 openrelay,开放传递,不但你的 IP被列进黑名单,而且垃圾邮件会塞得你的邮件服务器不能工作。但只有劣等管理员才不能防垃圾邮件,一个简单有限的办法就是使用 smtp auth。
         使用 smtp auth的办法是打 checkpassword补丁。这里要注意,有两种方法进行补丁,但只有一种是支持多域名的。请参考有关文档。由于 smtp auth和 pop auth均由 checkpassword提供,所以实现了 pop和 smtp使用同一密码的功能。          必须安装 Ucspi-tcp才可以提供网络服务,在启动服务时指定必须使用 smtp auth,及 popauth。
         安装 vpopmail时注意:安装程序会检测 vpopmail用户,并把 vpopmail安装在 vpopmail的 HOME目录。 Vpopmail在安装时自动在数据库中生成数据表格,但需要在安装前在 vmysql.h中指明数据库的地址、名称、用户、密码。
         Sqsighup、 sqwebadmin、 sqwebmail都是 PHP或 CGI程序,修改并不困难,其中 sqwebadmin是专门配合 vpopmail的 mysql方案的。
 
c)        系统管理:
系统管理由三级组成:
i.   qmail命令行工具:典型如 makemaildir,生成 maildir的目录;还有如 qmail-ldaplookup,在使用 ldap方案时是非常重要的工具。但在使用 vpopmail时,这些工具被全面取代。
ii.     vpopmail命令行工具:如 vadddomain,vadduser,vpasswd等,几乎是最重要的管理工具之一。
iii.         sqsignup, sqwebmail,是用户自我管理和 webmail,除 sqwebmail中的修改密码功能,其它不是必须的。用户也可以自已开发修改密码的程序,不算太高。
 
d)       LDAP实现 :
有三种方法,一是直接使用 qmail+ldap方案,这在 lifewithqmail/ldap中有详尽的说明,但不精确;二是使用 qmail+vpopmail+ldap方案,简单不少,但程序有问题;三;使用 Curier IMAP的 LDAP功能,但这样没有必要,因为 Courier IMAP与 Coureir MTA配合更佳,而且没有补丁,功能齐全。
 
方法一: qmail+ldap; 
需要软件:
 
qmail-1.03
qmail-ldap-patch
ucspi-tcp
checkpassword
qmail-ldap-control-patch
qmail-ldap-smtp-auth-patch
基本同前者,只是 ldap代替了 mysql,而弃置了 vpopmail。
这套方案最关键的一条是使用 qmail-ldap-patch。但这套补丁 2000年以后的版本有很大的 BUG,最基本的一条就是 auth-pop.c 调用 commands.c调用 qldap-lookup错误。或者作者自已机上是可以用的,但它用于对比的版本不知是何年何月的,总之得出的 patch是狗屁不通,要用者,自已顺藤摸瓜改程序吧。粗略估计一下,大约要改几百行程序。
过了这一关,也是问题,安装时可以改程序,总不能每次系统管理也要程序吧? lifewithqmail/ldap建议使用 qmail-ldap-control补丁,不过要使用这个补丁,又要再改一次程序,又是几百行。而且,这个补丁不但难打,而且打完后,象一些核心如 qldap-lib.c程序,语法错得惨不忍睹,这一关,我过不了。如此下去,就算侥幸装上了,升级换代也是困难,还不如我自已开发一套算了。
这样使用 LDAP上,是十分不划算的。
                  
                   方法二:使用 vpopmail+ldap;
                  
另一种方案是 qmail+ldap+couire IMAP,该文的参考文档 [url]http://www.cerritoslug.org/tutorials/qmail-ldap/installing.html[/url]
这种方案避免了使用 tcpserver启动 pop3,从而避免了前文所述的错误。是唯一可行的方案。但没有太大的价值,因为主要的工作完全由 Courier IMAP完成, Courier MTA本身就不差,没有必要另用 qmail。
 
b)       IMAP实现 :
要完成 courier IMAP合成 qmail、 vpopmail,需要修改程序代码,但几乎所有的中文文档,都仅是说 make,make install,所以我觉得他们就算是报成功安装,也不可能运行的。
针对我们使用 MYSQL进行认证的方案,可以配置 Courier IMAP使用同一个 mysql记录表,通过定义修改字段让它访问 vpopmail的 Maildir目录,可以较易实现 coureir IMAP集成的目的。
但如前所说,既然用到 Courier IMAP,就没有必要再用 Qmail自讨若吃了。
                                              
c)        TLS实现;
无法使用 TLS,就算可以,无非是再加一重补丁,一个软件要打上四五重补丁,然后 digbug,叫 DJB自已来干好了。建议不必再考虑 TLS。
 
d)       缺陷和开发余地;
qmail最大的问题,就是越来越多的核心功能不是通过集成,而是通过补丁来实现,关键可能就在于 DJB制定的版权标准不太合乎逻辑。除着技术标准的进步,这个缺陷会越来越致命,相信,很快,整个 qmail体系都会不得得被抛弃。
与 qmail相比, postfix显得规范许多,而且它与 Cyrus sasl配合紧密,不象 qmail那样的乱七八糟的程序堆在一起。但 postfix体系的缺点是周边软件不成熟,缺乏严格的集成测试,甚至连安装程序都存在低级错误,要修改过才行。而且, postfix大量使用一些较新的 linux技术,如 sasl, pam, cyrus imap, Berkeley DB等,偏偏这些技术合在一起使用的先例极少,升级版本差距太大,相互间集成不便,要把它们集成在一起形成一个整体可用的,符合要求的系统,简直就是一场地狱旅行。但一般说来,如果组合成功,效果优于 qmail。

 
2    postfix 方案详解;( postfix+cyrus sasl + mysql+cyrus IMAP);
a)      简述:
与 qmail相比, postfix显得规范许多,而且它与 Cyrus sasl配合紧密,不象 qmail那样的乱七八糟的程序堆在一起。但 postfix体系的缺点是周边软件不成熟,缺乏严格的集成测试,甚至连安装程序都存在低级错误,要修改过才行。而且, postfix大量使用一些较新的 linux技术,如 sasl, pam, cyrus imap, Berkeley DB等,偏偏这些技术合在一起使用的先例极少,升级版本差距太大,相互间集成不便,要把它们集成在一起形成一个整体可用的,符合要求的系统,简直就是一场地狱旅行。但一般说来,如果组合成功,效果优于 qmail。
Postfix方案采用的方案远较 qmail规范,与 linux的系统架构较 qmail要密切得多,其认证的核心 pam-sasl,不但是 linux内核框架标准,同时也已经是 UNIX网络通讯的认证标准。
作为 MTA, postfix本身没有什么问题,但能够与 postfix集成提供所需功能的 Cyrus软件就有一个大毛病,各版本间没有遵循新版本向下兼容旧版本的原则。这个会造成初学者非常困惑的结果。
优点:
     技术先进,集成度高,与系统底层机制高度集成;
缺点:
     缺乏文档,不同历史版本间兼容性差。   
总结:技术上较 Qmail先进一代,基本解决方案具备,也较成熟,缺点是方案较单一,而配套的管理工具不多。总的来看,无论是大型还是小型应用, postfix都较 qmail优秀、方便。
适用:适用所有类型。
 
与 qmail不一样, postfix缺乏充分的配套方案,象 qmail本身包括了 pop3甚至 CDB存储用户信息,而 postfix就什么也没有。因此,尽管 postfix本身就 MTA而言要比 qmail更完善,但是作为商业级的解决方案,仍未十分成熟。
Postfix目前大致两种选择方案可以提供 IMAP服务,一种是通过 Courier,另一种是通过 Cyrus imap。前者没有找到可以提供有效的 smtp auth的方法,后者是通过 Cyrus SASL(简单网络认证层)实现认证,这一认证与 IMAP一同是卡内基 -梅浓大学的产品,本身是完全兼容吻合的。

德国的 Patrick Koetter先生完成的安装文档 How to use smtp auth in combination with TLS in Postfix, ( [url]http://howto.state-of-mind.de[/url] ),及 Luc de Louw的 Postfix-Cyrus-web-cyradm-HOWto([url]http://ldp.kernelnotes.de/HOWTO/postfix-Cyrus-web-cyradm-HOWTO[/url]),最值得推介。本文以此为基础,在需要更改的部分加以说明。
a)          概念说明:
Cyrus SASL:         (简单网络层认证),
由卡内基 -梅浓大学开发和制定的网络认证标准,通过标准的 SASL函数库,可以向任何调用的网络通讯程序提供与任何 LINUX上使用的认证方式一致的认证机制。用户可以选用适合自已的认证机制,如 pam, kerbros, ldap等都是允许而且透明的。
SASL将是未来主要的认证方式之一。较 qmail的 checkpassword机制要先进得多。
 
PAM :( Plugin Authentication Module );
linux社群最富有创造性的成果,令系统认证成为一个接口标准,可以根据需要定制认证方式,或开发自已的认证方式,同时, PAM可以给任何系统应用认证调用,令系统内权限管理达到了一个新的等级; PAM较之 WINDOWS2000的 SAM认证机制先进得多,而较 Active Directory/Kerberos机制简单得多。
 
Berkerley DB:
是极小的嵌入式的关系数据库,实际上是一批关系数据库化的散列结构,不支持 SQL,常常作为其他数据存储方案的后台;如 OPENLDAP。在本方案中要用到 Cyrus-SASL 2.1,该版本必须基于 Berkerley DB4.0 以上的版本支持。
 
b)         需要软件:
postfix, Cyrus-sasl 2.1, pam-mysql, mysql,cyrus IMAP, Berkeley DB 4.0。
注意: Cyrus-sasl在 redhat系统本身是默认安装的,但在这个地方却不能用,必须把它御载重新安装才可以工作,关键是 2000端口的 sieve进程能够动作。
c)          架构:
postfix简单完成 MTA的工作,认证工作由 Cyrus SASL完成,无论是 IMAP还是 POP3都由 Cyrus IMAP提供,帐号就放置在 MYSQL中。 Cyrus SASL被配置成基于 PAM进行认证,而第三方程序 pam_mysql是完成从 mysql到 PAM的认证模块插件。这个系统远较 qmail简洁一体,我认为技术含量也更高。
注意事项:
                                       i.      包括 Berkerley DB和 Cyrus SASL都要装新的;
                                      ii.      Cyrus IMAP程序是基于 Debian开发的, Perl的版本和位置都不一样,必须手工修改 Cyrus-imapd的源代码目录 perl/imap子目录中的 Makefile文件,把 perl 5.6.1的目录改到正确的位置。否则 cyadmin运行时就出错,系统无法管理了。
d)         系统管理:
可以使用 Cyrus提供的 Cyradm命令行工具管理系统,这一工具可以异地运行管理,非常好。也可以使用 web-cyradm第三方软件,但这个软件写得很臭,包括不能让客户自已修改密码。建议自已修改后再用。
邮箱:可以选择 Maildir或是 Maibox形式。我觉得使用 Mailbox形式在提供 IMAP时增加新邮箱很方便。
e)          虚拟主机:
可以直接在 postfix下配置虚拟主机,在辅助的 courier或 cyrus中也可相应配置成多域系统。
f)          LDAP:
使用 pam-ldap可以配置系统使用 ldap认证取代 pam_mysql;但还必须给 Cyrus-imap打上 LDAP补丁,才可以读取 ldap的用户配置。补丁地址: [url]http://www.surf.org.uk[/url],是英国人的作品。个人应用,这比 Qmail-ldap优秀。
另一种使用 LDAP的方法则是跳过 Cyrus SASL,直接使用 LDAP认证取代 PAM认证,而使用 courier IMAP提供 POP3和 IMAP服务( Couier IMAP能够自已识别 LDAP)。这种方法的缺点是找不到好的办法处理 SMTP AUTH。
g)          TLS:
前述的两份参考文档分别介绍了如何配置 postfix和 Cyrus实现 TLS。这方面,支持的相当完全的。
 
Courier 一般以 IMAP服务器出名,它是纯开源项目,由台湾的 sourceforge.net提供代码维护,但实际上 Courier是一个完全包括了 MTA、 MDA在内的邮件服务系列,比 QMAIL和 Postfix都全,实际上是最全的服务系列,甚至直接包括了 IMAP,和邮件过滤器,这方面远胜于 qmail和 postfix,理论上应该是最合适的方案。但不知是开发者的问题还是什么的, courier方案是我见过的文档最糟糕的项目,也许这根本上就是一个进行中的项目,可以从它的版号号,最新也只有 0.40看出来。也正因为此,全套 courier方案,是我三个方案中处理最艰难的一个。但对于复杂的应用,如果过了使用关,倒是最方便的一个。

Courier 方案详解;( courier-mta+ couier IMAP+ mysql+mailadm);
a)         简述;
Courier 一般以 IMAP服务器出名,它是纯开源项目,由台湾的 sourceforge.net提供代码维护,但实际上 Courier是一个完全包括了 MTA、 MDA在内的邮件服务系列,比 QMAIL和 Postfix都全,实际上是最全的服务系列,甚至直接包括了 IMAP,和邮件过滤器,这方面远胜于 qmail和 postfix,理论上应该是最合适的方案。但不知是开发者的问题还是什么的, courier方案是我见过的文档最糟糕的项目,也许这根本上就是一个进行中的项目,可以从它的版号号,最新也只有 0.40看出来。也正因为此,全套 courier方案,是我三个方案中处理最艰难的一个。但对于复杂的应用,如果过了使用关,倒是最方便的一个。
Courier不但介绍的书极少,而且文档虎头蛇尾,牛头不对马嘴,不看文档不知如何用,看了文档,更是不知所云,常常是一大堆废话开场白后,用者正要看它正文的说明,它却说:全说完了!我开始时以为 postfix的文档已经够糟糕的,但后来才发现,与 postfix相比,是小巫见大巫。
推荐使用 Courier IMAP服务器的文章很多,但介绍如何集成 Courier IMAP和系统外认证的中文文章不但少,从表现出来的次序来看,作者极可能根本上没有成功运行过(按他们说的方式是不可能成功的)。另外,考虑到我们要求的第三点,单独使用 Courier IMAP的理由并不充足。
另外, courier IMAP的管理工具不多,远不及 cyrus IMAP的方便、直接。
Courier是一个比 Postfix更新、更大、更全面的邮件项目,也更不成熟,但与 Cyrus SASL没有冲突。
                            优点:
                            高度集成,技术先进,功能全面;
                            缺点:
开发不成熟,许多模块根本未完成开发;
                            文档极缺乏,连管理使用文档也没有。
                   适用:可适用于所有类型要求。
 
b)         需要软件:
Courier-MTA最新发布版;
Mailadm最新版( [url]http://courier-mailadm.jgaa.com[/url])
c)        系统框架:
Courier MTA发布包已经包含几乎全部软件,包括 MTA, MDA, POP3和 IMAP服务器,认证功能,邮件过滤, TLS连接等。并由第三方软件包 mailadm提供管理脚本。
 
Courier MTA尽管包含各个软件,但各个软件之间各之为政,单独配置,主要包括: esmtpd,pop3d,imap3d,courier courierfilter五个。启动的时侯把各自的服务 start, 如 /usr/lib/courier/sbin/esmtpd start,停止的时侯 stop就可以了。
d)       认证:
Courier各服务虽是独立,但认证流程是统一的,关键在于 authdaemond进程,由该进程再去调度各种形式的认证流程,如 authdaemond.mysql.. 在配置系统提供上述五种服务时,在各自的配置文件中配置使用 authdaemond进行认证就可以完成统一认证。
流程是:
(1)    配置 authdaemond.mysql,配置文件 authmysqlrc, 包括数据库位置,密码,表名,域名等;
(2)    配置 authdaemonrc使用 authmysql;  (authmodulelist项 );
(3)    最后配置各个服务使用 authdaemond, 如配置 esmtpd提供 esmtp的服务( auth smtp认证服务)
e)       系统管理:
这是一个大弱点, Courier好象开发出来就不准备给别人用似的,既没有工具也没有文档,有一个 pl的 couriermailadm,登录成功后就一点反应也没有,连操作菜单也找不到。
没有命令行工具,要么自已写程序管理,要么使用一个第三方的管理工具 mailadm可以完成 authmysql的 courier的基本管理,包括虚拟主机和用户管理。但客户自行修改密码的故事还不行。
f)        邮箱:只能采用 Maildir,在提供 IMAP时相当不方便。
g)       注意事项:
安装时除了最后的 make install使用 root外,从 tar -xzxvf开始都要使用非 root帐号,否则安装虽能完成,但是却动不了,而且再安装也没有用,除非能够把程序全找出来删光,否则只有重装系统才能下一次了。这点非常重要。
Courier-MTA使用完全的 ESMTP协议,而不是象 qmail-postfix那样在 SMTP上打补丁。同时受口令认证和 IP段的约束。必须编辑 esmtpaceess,esmtpacceptmaifor, locals这些文件,再生成相应的 dat文件,才能真正工作。象如果在互联网上使用,可以 esmtpaccess开放 relay,
#echo 0.0.0.0 << esmtpaccess
#makeesmtpaccess
由于已经设置了 esmtpd使用口令认证,也就成了通常的 SMTPD AUTH的可供漫游的服务器了。
h)       IMAP 服务器;
Courier以 IMAP出名,它不但可以配套 Courier-MTA,而且可以配套 qmail或 postfix,或其他的 MTA。统一认证的关键点有三个: mysql,vchkpw, authmysql.
 
i)         LDAP和虚拟主机: courier-mta及 imap直接支持虚拟主机和 LDAP,配置相当简单。
j)         可参考文章极少, [url]http://www.tonybibbs.com/courier-howto.html[/url]可算是不多是可用参考之一。由此也可见,由于文档工作的不足, Courier是如何地变得不为人知及不为人用了。
邮件服务器的方案不少,在WINDOWS上,即使不算Exchange,可用的小邮件服务器都有十来种吧?特点千篇一律,对于在WINDOWS上的程序来说,核心功能一般不用自已做,所有程序实际上就是一个自已设计的操作界面调用微软的COM构件,仅此而已。
五、其他可选方案;
a)  其他 Linux商业方案
     1)      北京斯利尔公司的 @message
@message是广告相当火的,但 @message并不是一个完整的 mail方案,本质上是一个包含了 pop3及 pop3管理工具,主要基于 sendmail的,带一个相对精美的 webmail的工具套件,不支持大量的用户(大量的用户必须另外定制)。不必考证它的 pop3d其实是基于那一个开源软件的,这不是它的卖点,仅从基本 mail性能上,它除了 webmail外,连 sendmail也比不上。 @message主要卖点跑到了 web,特别是 WAP的 web上,也就是用手机收邮件,以及自动拆解语音 MIME,目的也是用到手机或是电脑自已播语音上。一般认为,这是非常边缘的功能,这也从侧面说明, 为什么@message商业上并不成功由于@message不是完整的mail方案,而是一个 mail边缘应用方案,因此它无法解决包括 smtp auth, tls,帐号管理等问题。 @message声称有 1500万用户,让人怀疑是不是吹牛得也太离谱了。
     2)      广州博大的 foxmail server for linux
这是一个基于 qmail的解决方案,使用 perl及 resin的 JSP提供应用管理界面(同时使用两个 WEB程序,是不是说明 WEB开发力量太弱了?),可以选择 mysql和 ldap作为帐号载体。提供基本的明文认证,属于功能中低偏弱类型,如前所述,兼有 qmail方案的全部弱点。报价 55, 000元,实收估计 20, 000元,但相信没有多少成功的案例。但不管如何, 相对于@message, foxmail server更接近于实质性的 mail解决方案,而不是边缘方案。
 
b)      跨平台 JAMES方案;
JAMES是 Apache-Jarkara项目中的解决方案。 JAMES是纯 JAVA的应用,不受操作系统的限制,完全集成了 MTA和 MDA,并且自带邮件分类查询的功能。本来是集成 JAVA服务器应用相当理想的方案,缺点是未完全开发完毕,令人遗憾。 James没有经过严格和大范围的试用,尽管已经到了 2.1版本,但我认为它其实是一个未完成开发的产品,相当不稳定。它的缺点是:
1)         文档少而试用欠缺;而且没有完全实验相应的 RFC要求,因此,有时只能在 JAMES之间收发信,简直就是要命。
2)         缺少有效的 SMTP AUTH的方法;
3)         性能欠佳,没有实现 JAVA留驻后台服务,对于大量的信收发问题会相当严重;
4)         缺乏有效的后台管理工具。
 
综合而言,就是令人期待,却未可用。
 
c)     Lotus Domino方案;
Lotus Domino本质上不是纯粹的邮件服务器,而实质上是一个二进制文件(非结构性文件)存储 /交换服务器,邮件功能本质是为了完成文件的交换。 Lotus Dimino的核心是提供一致的非结构性文件的存储和查询方案,这一方案迹近完美,且是与平台无关的(与格式相关,即 NSF);因此,任何立足于非结构性文件的存储和查询作为主要业务目的的项目,在财务可以承受的前提下,使用 Lotus Domino都可以被认为是合适的。
但作为纯粹的邮件服务器, Lotus Domino不但太贵,而且功能单一而负载低下。 Lotus Domino使用自带邮件帐号(通讯录),也可合并 WINDOWS 2000帐号;支持最新的邮件协议。但除非使用专门提供的 Lotus客户端工具,否则与普通免费邮件服务器无异。
如果是进行非结构性文件类的存储和查询,也就是 OA型形式的应用, Lotus Domino除了太贵而且还须二次开发外,没有什么明显的缺点,国产的各型 OA除非本身也是基于 MAIL的,否则与 Lotus Domino不在同一个应用档次。另一方面,存储文件和查询的方式并不止 NSF一种,简单的加密目录存储外加数据库索引查询可以获得不亚于 NSF的存储和查询功能,也是实情。
因此,如果目的是使用 Mail的话,不应选择 Lotus Domino;作为简单的 OA,可以使用国产 OA,让 Lotus Domino用到最合适的地方。
Lotus Domino mail服务器报价大约是几万,而 Notes客户端接近每个终端 1000元,按一半折扣计, 25用户就需约二万以上。正常情况下,含应用服务器则加倍再加倍(企业版),并且随着用户数增加而直线上升。不限用户的 Lotus Domino mail方案,连硬件及操作系统,成交至少在 30万元以上;若是全套功能,价格当 2-3倍,二次开发费用另计,需加一半到翻番。
由于 Lotus Domino 不是纯粹的邮件服务器,所以一般也与 Exchange server一样称为群件服务器。
 
d)     Windows 平台方案
         1)      普通邮件服务器方案
         由于 windows本身建制了 SMTP,以及提供了 POP3及 IMAP4的 MS API,因此在 windows上开发邮件服务器是相对容易的,这类小软件很多,粗略算起来有二十多种。这类软件虽多,但却都是鸡肋,要说在小办公室里发信,用不着它,直接用 WINDOWS上的 SMTP就可以了;如果要收信,需要 DNS已经是不好弄,如果摆到网上,不但费用不菲,而且大卡车装一块小土豆,也实在不象话。说到底,这批小软件真的是只能用来玩玩的小软件,注定没前途。代表是 Imail及 Foxmail server for NT.
Imail 最早的共享文件夹的 windows Mail。相当方便,粗看起来,按我们的要求,不计系统安全性,仅缺乏支持 TLS,外置数据库功能不完善;包括 IMAP和 WEBSERVER,以及虚拟主机功能都提供了。使用也相当方便,但基于上述的理由——这又有什么用呢? IMAIL的价格不菲,大致是 Exchange的一半左右。连同其平台 windows 2000外加相应的连接,发布成本并不低,当在十万元以上,性能远远比不上那怕是 qmail的普通方案。Imail还有另外一个问题,原因不明,就是使用邮件代理而对方是UNIX服务器且要求有ESMTP时,它会不能识别地发出AUTH请求,这对于许多IMAIL来说后果就是一旦采用如防病毒代理服务器,就无法和大多数邮件服务器通信了。原因也许是由于IMAIL没有严格执行ESMTP的RFC协议要求。
明Foxmail server 配置项远少于 imail,几乎没有配置,但却提供了 SMTPAUTH,使用的也不是系统帐号,从这个意义上,它比 IMAIL要好玩,如果打算让 WINDOWS凑合着收发邮件,这是一个好的办法。 Foxmail只支持 pop3.
 
1)   MS Exchange server
与 Domino一样,这是 windows另一款非公享文件服务器型的,它其实是 MS Mail的增强版本。 Exchange常常与 Domino争夺国内 OA的市埸,但其实, Exchange本身并不带文件存储、处理等功能,它真的就是一个交换工具,较之 Domino多了 netmeeting, Message server这类的聊天工具服务,对于深好此道的公司是一个不可多得的选择(偏偏本人把 UDP聊天与×××等而同之,不感冒)。所以区别 Exchange与 Domino的使用其实很简单:如果不是处理文件 OA类, Exchange更合适。
Exchange支持相当完整的最新邮件协议,而且与 outlook客户端密切集成,邮件、语音、聊天、传真浑然一体,这种使用如同吸食×××一样,让人无法摆脱;特别是那种网上聊天(名为网上会议),除非老板醒目知道它的危害,否则其下属在选择替代软件时,一定会把支持聊天视作最必要的功能作为替作产品的最优先条件。正因为如此,任何 mail方案可以与 Exchange竞争,但如果让替代现存的 Exchange系统是妄想——考虑作为补充增加 mail功能更为实际。正因为 Exchange server有如上补充功能,因此,也称为群件。
但反过来说,若除了语音、聊天、传真之类边缘功能剔除, Exchange就真没有什么特别的,看上去不比 imail强到那里去。成本与 domain 差不多而稍便宜。
Exchange最方便之处是它完全集成了 windows2000系统,或 MS Active Dircctory动态目录的帐号。从这点也可以看出, Exchange server开发之初是打算仿制 sendmail之于 UNIX的角色提供主机 -工作组级邮件服务的,其后转为从各个方面加强这一功能,这与 Domino的方向和侧重点完全不同。但其问题最大之处,除了价格、高负载性能以外,恐怕就是它的帐号完全与系统(域)帐号集成了。换言之, Exchange邮件用户自然拥有 window2000域服务器群的系统帐号,从而具备了产生无穷漏洞的空间。
但不管如何说, Exchange server仍然体现了微软产品的一贯特点:基本功能简单、全面、轻负载性能、系统漏同推向系统承担、使用简洁。安装 Exchange server不算太容易,但除了要花钱申请预算一项特别外,其余较之 linux同样方案,毕竟不是一个低级的。
与 Domino server相比, Exchange server更接近于是 Linux mail方案的竞争对手;而 Domino server接近于是 OA的竞争对手。与 Linux Mail相比, Exchange server在低成本、高负载性能、安全性上明显劣势;而在易用性、相关产品线、基本性能上明显占优。这也是为什么 linux mail为什么动不动就说自已安全,多么差劲的机器每天能发多少千万邮件的原因;而 Exchange server总是有意无意强调自已的 outlook也是同样道理。
 
 
 

0

收藏

xiaomagee

216篇文章,68W+人气,0粉丝

Ctrl+Enter 发布

发布

取消

f92360e227f9d91cdff7ea95120630ef.png
left-qr.jpg

扫一扫,领取大礼包

0

分享
qr-url?url=https%3A%2F%2Fblog.51cto.com%2Fxiaomage%2F129249
xiaomagee
noavatar_middle.gif