Ajax 邮件包之战
传统上,在考虑邮件服务器时,有两种路径可供选择。“雷德蒙德路径”是各种 Microsoft Exchange Server,以 Outlook 作为客户端,并且可能在办公室外时使用 POP3/IMAP 和 Web 邮件作为备用。
另一条路径,企鹅的路径,是 Sendmail 或 Postfix,或者可能是更晦涩的邮件传输代理 (MTA),使用 POP3 和 IMAP 连接到您选择的邮件客户端。如果您想要 Web 邮件,您可以使用诸如在 Apache 下运行的 SquirrelMail 之类的软件包。当然,还有其他选择,例如 Lotus Notes,但总的来说,大多数电子邮件安装都使用了这两种解决方案之一。
最近,电子邮件领域发生了巨大的变化。首先,Gmail 和 Yahoo Mail 等富客户端工具展示了 Ajax(Asynchronous JavaScript And XML,异步 JavaScript 和 XML)的潜力,将 Web 邮件从旅行者的最后手段转变为完全可用的电子邮件应用程序替代品,例如 Outlook 或 Evolution。更重要的是,几家公司已经达到或非常接近开源电子邮件的“圣杯”:完全的 Exchange 兼容性。
我确信有很多铁杆 Linux 爱好者在那里默默地说“谁在乎?”。但现实情况是,在大多数企业 IT 环境中,Outlook 和 Exchange 是公司心态中根深蒂固的一部分。而且,很难责怪公司坚持使用它们。这对“可怕的二人组”充满了有用的功能,例如会议和日历集成,这使它们非常有用。另一方面,很难找到一位愿意将管理 Exchange 服务器描述为愉快体验的 Windows 系统管理员。
最终,这些饱受困扰的 MCSE 有了一个选择,这个选择不涉及放弃 Outlook 并培训他们的员工使用全新的邮件系统。OpenExchange、Zimbra 和 Scalix 等项目承诺能够逐步淘汰基于 Windows 的 Exchange 服务器,而最终用户却不会注意到。
Scalix 和 Zimbra 这两个项目尤其有前途,因为它们的产品都包含功能强大的 Ajax 客户端。在本文中,我们将正面交锋地审视这两者。
Zimbra 是一个开源项目,具有专有的网络版,其中包括产品支持、集群以及未来通过 MAPI 实现 Outlook 连接等功能。如果您可以不用这些功能,您可以自由运行开源版本并在论坛中获得支持。但是,网络版并不便宜,每个用户 28 美元,最少 500 个用户(或 50 个用户的小型企业许可证 1,500 美元)。值得注意的是,Zimbra 仍处于 beta 阶段,尽管其开发周期已接近尾声。
相比之下,Scalix 完全是闭源的。它提供两个不同的版本:社区版和企业版。与 Zimbra 一样,企业版将花费您的钱,并且附带支持。不同之处在于 Scalix 社区版提供了企业版的所有功能。但是,高级功能(例如 MAPI 兼容性,它允许您直接将 Outlook 与邮件服务器一起用于日历和联系人管理)仅适用于 25 个用户。之后,您将支付每个用户 60 美元。
我们在 Fedora Core 4 下测试了这两种产品。对于 Zimbra,Fedora Core 4 和 Red Hat Enterprise Linux 4 是您唯一的官方 Linux 选择(至少对于受支持的二进制安装而言)。Scalix 也提供这些发行版,但还在受支持列表中添加了 SUSE 的几种版本。这两种产品的安装都很顺利;您只需回答几个简单的问题(至少,如果您熟悉邮件服务器的设置,则很简单),安装脚本会完成剩下的工作。
此时,我需要提到 Zimbra 的一个令人恼火的怪癖。它在高编号端口中安装其 SMTP、POP3、IMAP 和 HTTP/HTTPS 服务器,然后使用 iptables 将其映射到这些端口。因此,例如,端口 80 被映射到端口 7070,Zimbra 在端口 7070 上运行其 Web 邮件客户端。如果您在具有现有 Web 服务器的主机上安装 Zimbra,这可能会带来糟糕的意外。
相比之下,Scalix 使其所有网络端口都远离现有的 Web 服务,尽管它确实接管了与邮件相关的端口,例如 SMTP 和 IMAP,但这正是您期望邮件服务器执行的操作。
Scalix 对粗心大意的人也有其自身的危险。您最好熟悉 LDAP 以及它如何指定专有名称。Scalix 完全是关于 LDAP 的。公平地说,Scalix 正试图作为 Exchange 的直接替代品运行,而 Exchange 在其 Active Directory 架构中大量使用 LDAP。因此,这并不是一个意外的发展。但是,对于熟悉 Sendmail 且首次安装 Scalix 的系统管理员来说,仔细阅读文档是必要的。
Scalix 和 Zimbra 都提供命令行和基于 Web 的配置工具。在这两种情况下,您可以从命令行执行的操作都比从 Web 执行的操作多得多。其理念似乎是,Web 应该用于日常操作,例如添加新用户,而命令行用于更复杂或不太常用的操作。
这两种产品共有的一个令人头疼的问题是,它们有大量的命令行程序。Zimbra 有 74 个程序可用于控制其运行,而 Scalix 在其 bin 目录中有 341 个(是的,341 个)程序,并且它们的名称非常相似,以至于您可能会发疯地试图记住它们之间的差异。例如,尝试弄清楚您应该使用 omdelapppdl 还是 omdelapppdln。正如我所说,在您尝试任何复杂的操作之前,仔细阅读手册是必要的。
Zimbra 已配置为预装 SpamAssassin 和 ClamAV。Scalix 支持任何基于 Milter 的垃圾邮件和防病毒工具。安装它们并不困难(当我在犯了一个愚蠢的错误时,得到了响应迅速的支持论坛的帮助)。
毫无疑问,Zimbra Web 邮件界面功能更丰富,色彩更鲜艳。例如,将鼠标放在日期上,您会看到该日期的日历。将鼠标放在电子邮件地址上,您会看到该人的联系信息。将鼠标放在 Web 地址上,您会看到该站点的缩略图。不幸的是,它仍然有点小问题,尤其是在 Firefox 下。对于一款如此自豪地拥有开源血统的产品来说,这不是一件好事。希望这些问题在最终版本发布之前得到解决。
然而,Zimbra 当前缺少的是任何形式的直接 Outlook 支持。即使该网站声称 Zimbra 将直接与 Outlook 对接,但这实际上是一个待定功能。因此,至少目前,Zimbra 仅可通过其 Web 界面或通过 IMAP/POP3 使用。
相比之下,Scalix 在 Web 上的外观几乎平平。如果您不仔细看,您可能会发誓您正在使用 Outlook。这可能是故意的,因为 Scalix 希望无缝地替换 Exchange。您可以通过 Web 界面执行几乎所有可以直接从 Outlook 执行的操作,除了与邮件过滤相关的任何操作。
但是,当您将 Scalix 插件添加到 Outlook 时,Scalix 真正闪光。我在工作场所每天都使用 Exchange,现在我在工作之外的个人电子邮件中使用 Scalix。老实说,如果您使用 Outlook,两者之间没有实际区别。邮件过滤选项略有不同,但您真的必须仔细观察才能看到两者之间的不同之处。它与 Exchange 共有的更有用的功能之一是能够定义直接在服务器上运行的过滤规则。而且,由于 ActiveSync 与 Outlook 通信,您可以将您的 PDA 同步到您的日历、邮件和联系人。
如果您正试图选择其中一个,我不得不建议您首先尝试一下它们,因为它们都具有免费的社区版。Zimbra 可能比 Scalix 更容易一键安装,并且它肯定涉及更少的 LDAP 等方面的深入知识。它还具有漂亮的 Web 界面,并且随着进一步的开发,它只会变得更好。另一方面,在撰写本文时,它仍处于 beta 阶段,并且缺乏 Outlook 连接。
Scalix 显示出面向企业的解决方案的所有迹象。它不太适合设置个人服务器的 casual 用户,而更适合具有许多用户和复杂需求的部门或企业环境。话虽如此,为我的个人域设置它并没有那么费力。但对我而言,杀手锏功能是 Outlook 连接(尤其是免费的 25 个许可证)。在 Evolution 等客户端与 PDA 和其他群件技术更好地集成之前,我们中的许多人将受限于 Outlook 作为邮件客户端,并且只有 Scalix 提供了一个所有设备都可以通信的免费解决方案。
James Turner 是《Linux Journal》的产品评测编辑。他撰写了两本关于开源 Java 开发的书籍,并且是 Axis Technology, LLC 的高级软件工程师。