摘要
本文介绍纯Java开源邮件服务器兼新闻组服务器James的基本安装和使用,主要包括基本邮件服务器设置、基本新闻组服务器设置和基本邮件列表设置
James简介
James( Java Apache Mail Enterprise Server )是Apache Jakarta项目的一个子项目,是使用100%的纯JAVA技术,实现目前流行的开放协议(例如POP3,SMTP,NNTP等等)的一个完整的企业邮件引擎,并可以方便的通过Mailet API插入各种各样的辅助功能。作为一个邮件应用平台,你也可以在它的基础上开发你自己的邮件功能。但是,目前还没有任何一家企业使用James提供邮件服务的报告,对它的邮件处理能力尚无详细测试数据,但是它集成了新闻组服务器和邮件服务器以及简单的邮件列表功能,同时还支持TLS(SSL)以及SMTP认证,大家可以使用它来做为企业内部邮件交换和信息交流的服务器还是很不错的。目前James最新的稳定版本是2.0a3,大家可以在http://jakarta.apache.org/site/binindex.html 下载它的最新已编译版本。
让你的James跑起来
整个James的安装过程非常简单,只是你首先需要有一个版本在1.3以上的JRE或者JDK,否则James V2.0a3无法正常运行。如果你的机器里已经有这个冬冬了,那么就快把已经下载回来的james-2.0a3压缩包解到你所希望的安装目录(我们以后以JAMES_HOME称之)吧,比如C:james(M$用户)或者/james(*nix)用户。
然后设置JAVA_HOME环境变量,如果你确信你已经在你的系统里设置好了这个环境变量的话请跳到下一段,否则,你需要先找到你JRE或者JDK安装的目录,然后在你的run.bat里的开始部分添上一行类似set JAVA_HOME=C:jdk1.4(M$用户)或者在你的run.sh文件开头添加如下的两行然后保存(*nix用户)。
JAVA_HOME=/usr/jdk1.4
export JAVA_HOME
M$的用户可以先直接运行run.bat,这时候一切都是缺省配置的运行的,等你熟悉了这个服务器以后你就可以使用run.bat --help命令获得更多的控制选项从而更好的使用它,现在我们还是从零开始吧。直接使用CTRL + C 结束运行(奇怪它居然没有直接提供一个shutdown的脚本),然后在JAMES_HOMEapps目录里,你会发现james.sar已经被解开到当前目录,再进一层james目录,会发现有一个conf目录,嘿嘿,我们所需要的高级定制就靠它了。一般玩*nix都是老鸟,基本操作就不对应介绍了,就提示一下,第一次你为了方便中间结束James的运行直接JAMES_HOME/bin/run.sh即可,注意要用超级用户哦,否则可开不了1024以下的端口,以后可以用JAMES_HOME/bin/run.sh &来后台运行,言尽于此,我们进入下一个步骤。
邮件服务器基本配置
进入JAMES_HOMEappsjamesconf,编辑config.xml。这个配置文件的注释还是非常详细的,我们先把最基本的安全保障配置——远程管理配置的修改一下。找到
标签,重点修改port(缺省的是4555)和administrator_accounts(缺省的用户名和密码都是root),这样就可以避免轻易被别人登陆控制,然后telnet jameshostname 4555(如果你已经修改过的话,就telnet到James所在主机的相应端口),输入你新设的管理员的用户名和密码,进入远程控制,在这里可以添加邮箱的帐户,可以设置密码,也可以关闭James服务器,通过help命令可以获得一个帮助列表。当然,你也可以在标签处取消的注释,使得可以支持SMTP认证。
新闻组服务器基本配置
同在config.xml文件的是设置新闻组服务器的地方,新闻组的设置除了设置是否需要身份认证( 标签 )来参与新闻组的讨论外,主要是设置新闻组的分类,在->标签下添加任何你想添加的分类,重新启动服务器,你就可以通过新闻组客户端看到新的新闻分组了。
邮件列表基本配置
James的邮件列表功能还只是一个很简单的功能集合,只包括订阅、取消订阅等最基本的邮件列表的功能,但是对一个小型的团队来说还是够用了。这里只提供演示本机配置简单邮件列表的方法。
首先在config.xml文件的标签下,有一个标签,在这个block内的前面,添加如下一段:
class="AvalonListservManager">
list-james
class="AvalonListserv">
false
true
true
list-james
JamesList
重新启动James,用本地帐户(例如lanf@localhost)发一封邮件到james-on@localhost,你会收到从Postmaster@localhost发来的一封新,内容是“Successfully added to listserv.”,表示你已经成功订阅了该邮件列表。取消订阅的方法是发一份邮件到james-off@localhost。
本文之外
在这篇简单指南中,我们没有介绍基于James这一邮件平台的进一步开发的知识,也没有介绍如何使用数据库和LDAP来保存邮件和邮件服务器的用户,以及如何结合James与Sendmail,只是简单的介绍了一下它的基本使用,使大家对这个开源项目有一个概要的了解。