首页公司简介公司动态解决方案客户留言网上订单人才招聘联系我们

昆山邮件服务器系统Linux解决方案

昆山邮件服务器系统Linux解决方案

产品介绍

 

昆山邮件服务器系统Linux mail解决方案详解;Qmail

(一)                                      

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根本上是一个失败的项目。连作者自已也承认,这 东西动不了。

 

昆山邮件服务器系统Linux mail解决方案详解;Qmail-(二)                                       

 

由于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,该文的参考文档http://www.cerritoslug.org/tutorials/qmail-ldap/installing.html

这种方案避免了使用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体系都会不得得被抛弃。

 

Linux mail解决方案详解; postfix方案                                   

与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, (http://howto.state-of-mind.de),及Luc de Louw的Postfix-Cyrus-web-cyradm-HOWto(http://ldp.kernelnotes.de/HOWTO/postfix-Cyrus-web-cyradm-HOWTO),最值得推介。本文以此为基础,在需要更改的部分加以说明。

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的用户配置。补丁地址:http://www.surf.org.uk,是英国人的作品。个人应用,这比Qmail-ldap优秀。

另一种使用LDAP的方法则是跳过Cyrus SASL,直接使用LDAP认证取代PAM认证,而使用courier IMAP提供POP3和IMAP服务(Couier IMAP能够自已识别LDAP)。这种方法的缺点是找不到好的办法处理SMTP AUTH。

g)          TLS:

前述的两份参考文档分别介绍了如何配置postfix和Cyrus实现TLS。这方面,支持的相当完全的。

 

Linux mail解决方案详解; Courier方案详解                               

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最新版(http://courier-mailadm.jgaa.com)

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)         可参考文章极少,http://www.tonybibbs.com/courier-howto.html可算是不多是可用参考之一。由此也可见,由于文档工作的不足,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也是同样道理。

 


【返回】

首页 » 解决方案 » 邮件服务器方案 »
»
»
»
WAPMobile