1、Apache James 使用入门Tags: 入门 james apache 一、简介Apache James(Java Apache Mail Enterprise Server)是 Apache 组织的子项目之一,完全采用纯 Java 技术开发,实现了 SMTP、POP3 与 NNTP 等多种邮件相关协议。James 也是一个邮件应用平台,可以通过 Mailet 扩充其功能,如 Mail2SMS、Mail2Fax等。James 提供了比较完善的配置方案,尤其是关于邮件内容存储和用户信息存储部分,可以选择在文件、数据库或其他介质中保存。James 性能稳定、可配置性强,还是开源项目,所有源代
2、码不存在版权问题,因此,James 在项目中的应用日益广泛,现在常用版本为 2.1,但最新版本 2.3 已经推出,在本文中,我们将仍以 James2.1 作为介绍蓝本。二、安装与配置James 的安装配置过程非常简单。第一步:安装 JDK请使用 JDK1.3 以上版本(推荐使用 JDK1.4),假设安装在 c:jdk1.3。第二步:下载 James,并解压可以到 Apache 网站上下载 James2.1,下载将得到一个压缩文件 james-2.1.zip,大小为4.45M,将此包解压到 c:james。第三步:直接运行或需要配置 JAVA_HOME这时,可以尝试直接双击 c:jamesbin
3、run.bat,若启动无误,将提示如下:Using PHOENIX_HOME: C:jamesUsing PHOENIX_TMPDIR: C:jamestempUsing JAVA_HOME:Phoenix 4.0.1James 2.1Remote Manager Service started plain:4555POP3 Service started plain:110SMTP Service started plain:25NNTP Service DisabledFetch POP Disabled也有可能启动不了,并报 JAVA_HOME 找不到,这时,需要指定 JAVA_HOME
4、,比较简单的方法是在 c:jamesbinrun.bat 中指定 JAVA_HOME,修改后的 run.bat 如下:remrem Determine if JAVA_HOME is set and if so then use itremset JAVA_HOME= c:jdk1.3if not “%JAVA_HOME%“=“ goto found_java修改完后再运行 run.bat,应该就可以正常启动了,若还有什么问题,请参见本文的FAQ 部分。三、项目应用1、 项目需求某单位,有 16 个职能处室,共 78 台电脑(操作系统为 Win98/2000/xp),其中有 1 台为专用服务器
5、(Win2000),已连成局域网。为使单位内部的信息交流,尤其是文件交互更加便捷,单位决定在局域网内部架设一套 E-mail 系统。2、 解决方案在专用服务器上安装 James2.1,客户端使用操作系统自带的 Outlook Express。3、 服务器端配置首先找出专用服务器的名字,假设叫 unitname。然后打开文件 c:jamesappsjamesSAR-INFconfig.xml。在 config.xml 文件中,找到Postmasterlocalhost ,把此项改为Postmasterunitname ,同理,找到localhost,把此项改为unitname。其实,改这两项就是
6、把默认的 localhost 改为机器名,这样做是为了让其它机器也能访问邮件系统,当然,前提是在局域网上没有与服务器重名的机器。4、 客户端配置假设有一个账号,用户名为 holen,密码为 123456,如何在 Outlook 中配置呢?首先,根据用户名,可以得出该用户邮箱地址为 holenunitname ,然后在输入 POP3和 SMTP 服务器时,直接使用服务器机器名 unitname 即可。5、 帐号管理James 的账号管理是通过 telnet 完成的,登录命令为:telnet unitname 4555 其中 unitname 也可以换成 IP,4555 是端口号。登录时需要用户名
7、和密码,初始的用户名和密码均为 root。若登录成功,提示如下:JAMES Remote Administration Tool 2.1Please enter your login and passwordLogin id:Password:Welcome root. HELP for a list of commands需要注意的是,所有敲入的命令都不显示在屏幕上。输入 help,将出现命令的帮助,信息如下:JAMES Remote Administration Tool 2.1Please enter your login and passwordLogin id:Password:We
8、lcome root. HELP for a list of commandsCurrently implemented commands:help display this helplistusers display existing accountscountusers display the number of existing accountsadduser username password add a new userverify username verify if specified user existdeluser username delete existing user
9、setpassword username password sets a users passwordsetalias alias user locally forwards all email for alias to userunsetalias alias unsets an aliassetforwarding username emailaddress forwards a users email to another emailaddressunsetforwarding username removes a forwarduser repositoryname change to
10、 another user repositoryshutdown kills the current JVM (convenient when James is run as a daemon)quit close connection常用的命令有 listusers、countusers、adduser 、deluser、setpassword 等。其中添加用户为 adduser,例如:adduser holen 123456。通过这个后台管理界面,管理员就可以实现账号管理及其他相应的管理功能。6、 应用情况这套系统在该单位经过一周的试运行后,已正式运行两个月,用户数约百人,一直很稳定,期间
11、,因操作系统故障,服务器重启两次,其他时间,一直处于运行状态,性能稳定,响应速度快。四、FAQ1、 在启动 james 时,提示 POP3 或 SMTP 不能使用?请检查一下,看“管理工具 服务” 里面,是不是启动了别的邮件服务器,已将 110 或 25端口占用了。2、 JAVA_HOME 找不到?请在 run.bat 中指定 JAVA_HOME,若还不行,请在“我的电脑系统高级 环境变量”中添加一项 JAVA_HOME(一般不推荐这么做)。3、 服务器启动正常,但客户端不能收发邮件?请检查客户端配置是否正常,参照前面所讲,另外,请检查 james 下的 config.xml,是否把 localhost 改成了机器名。五、总结总体而言,James 是一款十分优秀的邮件服务器,具有性能稳定、扩展性好、可配置性强、响应速度快、源码公开等优点。同时,由于 James 的后台管理不够方便、缺少必要的技术支持等原因,限制了 james 的高端企业级应用。就目前情况而言,James 主要用于 1000 用户量以内的邮件系统,而且当 James 用于商业性项目时,开发商一般需要对 James 进行相应的包装,主要是后台管理这一块。