一、简介
Apache James(Java Apache Mail Enterprise Server)是Apache组织的子项目之一,完全采用纯Java技术开发,实现了SMTP、POP3与NNTP等多种邮件相关协议。
James也是一个邮件应用平台,可以通过Mailet扩充其功能,如Mail2SMS、Mail2Fax等。James提供了比较完善的配置方案,尤其是关于邮件内容存储和用户信息存储部分,可以选择在文件、数据库或其他介质中保存。
James性能稳定、可配置性强,还是开源项目,所有源代码不存在版权问题,因此,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:\james\bin\run.bat,若启动无误,将提示如下:
Using PHOENIX_HOME: C:\james
Using PHOENIX_TMPDIR: C:\james\temp
Using JAVA_HOME:
Phoenix 4.0.1
James 2.1
Remote Manager Service started plain:4555
POP3 Service started plain:110
SMTP Service started plain:25
NNTP Service Disabled
Fetch POP Disabled
|
也有可能启动不了,并报JAVA_HOME找不到,这时,需要指定JAVA_HOME,比较简单的方法是在c:\james\bin\run.bat中指定JAVA_HOME,修改后的run.bat如下:
……
rem
rem Determine if JAVA_HOME is set and if so then use it
rem
set JAVA_HOME= c:\jdk1.3
if not "%JAVA_HOME%"=="" goto found_java
……
|
修改完后再运行run.bat,应该就可以正常启动了,若还有什么问题,请参见本文的FAQ部分。
三、项目应用
1、 项目需求
某单位,有16个职能处室,共78台电脑(操作系统为Win98/2000/xp),其中有1台为专用服务器(Win2000),已连成局域网。为使单位内部的信息交流,尤其是文件交互更加便捷,单位决定在局域网内部架设一套E-mail系统。
2、 解决方案
在专用服务器上安装James2.1,客户端使用操作系统自带的Outlook Express。
3、 服务器端配置
首先找出专用服务器的名字,假设叫unitname。
然后打开文件c:\james\apps\james\SAR-INF\config.xml。
在config.xml文件中,找到<postmaster>Postmaster@localhost</postmaster>,把此项改为<postmaster>Postmaster@unitname</postmaster>,同理,找到<servername>localhost</servername>,把此项改为<servername>unitname</servername>。其实,改这两项就是把默认的localhost改为机器名,这样做是为了让其它机器也能访问邮件系统,当然,前提是在局域网上没有与服务器重名的机器。
4、 客户端配置
假设有一个账号,用户名为holen,密码为123456,如何在Outlook中配置呢?
首先,根据用户名,可以得出该用户邮箱地址为holen@unitname ,然后在输入POP3和SMTP服务器时,直接使用服务器机器名unitname即可。
5、 帐号管理
James的账号管理是通过telnet完成的,登录命令为:
其中unitname也可以换成IP,4555是端口号。登录时需要用户名和密码,初始的用户名和密码均为root。若登录成功,提示如下:
JAMES Remote Administration Tool 2.1
Please enter your login and password
Login id:
Password:
Welcome root. HELP for a list of commands
|
需要注意的是,所有敲入的命令都不显示在屏幕上。
输入help,将出现命令的帮助,信息如下:
JAMES Remote Administration Tool 2.1
Please enter your login and password
Login id:
Password:
Welcome root. HELP for a list of commands
Currently implemented commands:
help display this help
listusers display existing accounts
countusers display the number of existing accounts
adduser [username] [password] add a new user
verify [username] verify if specified user exist
deluser [username] delete existing user
setpassword [username] [password] sets a user's password
setalias [alias] [user] locally forwards all email for 'alias' t
o 'user'
unsetalias [alias] unsets an alias
setforwarding [username] [emailaddress] forwards a user's email to another email
address
unsetforwarding [username] removes a forward
user [repositoryname] change to another user repository
shutdown kills the current JVM (convenient when J
ames is run as a daemon)
quit close connection
|
常用的命令有listusers、countusers、adduser、deluser、setpassword等。
其中添加用户为adduser,例如:adduser holen 123456。
通过这个后台管理界面,管理员就可以实现账号管理及其他相应的管理功能。
6、 应用情况
这套系统在该单位经过一周的试运行后,已正式运行两个月,用户数约百人,一直很稳定,期间,因操作系统故障,服务器重启两次,其他时间,一直处于运行状态,性能稳定,响应速度快。
四、FAQ
1、 在启动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进行相应的包装,主要是后台管理这一块。
分享到:
相关推荐
### Apache James 使用入门详解 #### 一、Apache James 概述 Apache James 是一款由 Apache 组织开发的开源邮件服务器软件,它完全基于 Java 技术构建,支持多种邮件协议,包括 SMTP(Simple Mail Transfer ...
3. `LICENSE.txt`:包含Apache James的开源许可证信息,规定了软件的使用、分发和修改条件。 4. `README.txt`:提供了项目的基本介绍、安装指南和快速入门信息,是了解项目的第一手资料。 5. `UPGRADE.txt`:可能...
Apache Ant 是一个基于 Java 的构建工具,由 James Duncan Davidson 创建,其名称源于“another neat tool”的缩写。Ant 在软件开发中的主要作用是管理和自动化源代码到可执行文件的转换过程,确保每次构建的一致性...
#### James服务器快速入门 - **安装与配置**: - **下载James服务器**:可以从官方站点获取James服务器及其源码。例如,James 2.3.1的ZIP版本可以从`...
当时,James尝试使用现有的构建工具(如GNU Make、批处理文件和shell脚本)来创建一个跨平台的Tomcat构建过程,但由于这些工具在跨平台兼容性方面的限制,他未能成功。于是,在一次从欧洲返回美国的航班上,James...
### Ant入门与进阶知识点概览 #### 一、Ant简介 **Ant** 是一个流行的构建工具,主要用于Java项目的构建过程。它通过一系列预定义的任务来执行自动化构建流程,简化了开发人员的工作负担。Ant的核心优势在于其跨...
### Java Ant 入门教程详解 #### 一、Ant 的历史与起源 Ant 是 Apache 软件基金会下的一个开源项目,全称为 Another Neat Tool(另一种整洁的工具)。它首次发布于 1998 年,由 James Duncan Davidson 开发。Ant ...
2. **Apache James 入门手册.CHM**:Apache James是开源的邮件服务器项目,这个手册应该是为初学者提供如何配置和使用James的指导。 3. **JBPM入门.CHM**:JBPM是一个业务流程管理(BPM)和工作流系统,用于管理和...
Tomcat的起源可以追溯到由Sun公司的James Duncan Davidson开发的JavaWebServer。在1999年,这个项目与Apache的JServ项目合并,形成了现在的Tomcat,初始版本支持Servlet 2.2和JSP 1.1。随着时间的推移,Tomcat不断...
1. Java语言的起源与发展:Java语言是由Sun Microsystems公司于1995年发布的,由James Gosling领导的小组开发。Java语言的早期代号为“Oak”,后来被正式命名为Java。Java语言的发布受到了广泛的关注和应用,成为了...
本书《The Logstash Book》是由James Turnbull所著,专注于Logstash版本1.4.2的使用和操作,是该版本的详细指南。书中不仅提供了Logstash的基础入门知识,还深入介绍了其设计架构、资源获取、配置方法以及与其他组件...
Apache Ant,作为一个基于Java的构建工具,由James Duncan Davidson创建,旨在简化Java项目的构建流程。Ant,全称Another Neat Tool,以其跨平台特性、易用性及高度可定制化而著称,成为Java开发者手中的得力助手。...
### Java入门知识:J2SE、J2EE与J2ME的区别 #### 一、Java简介 Java是一种广泛使用的高级编程语言,它以其强大的跨平台能力、丰富的类库以及易于维护的特点,在软件开发领域占据着重要的地位。Java由Sun ...
- **起源与初期发展**:Java 最初由 Sun Microsystems 公司在 1991 年由 James Gosling、Bill Joy 和其他同事共同开发。项目最初被命名为 Oak(橡树),但因商标冲突而改名为 Java。Java 最初是为了消费电子产品市场...
【Java基础入门教程】 Java是一种由Sun Microsystems公司(现已被甲骨文公司收购)的James Gosling在1990年代初开发的高级编程语言。最初命名为Oak,旨在为各种家用电器提供软件支持,但在1995年更名为Java。Java的...
从给定的文件信息来看,这是一本关于Apache Struts框架的入门书籍,名为《Struts Kick Start》,由James Turner和Kevin Bedell合著,版权归属于Sams Publishing,并于2003年出版。该书提供了对Struts框架的基础理解...