一 James简介
Java Apache邮件服务器一般是指Apache组织开发的James,它是一个轻便的、安全的100%纯Java实现的邮件服务器。不仅如此James还可以提供更多的功能,感谢James给我们提供了插件化协议架构和mailet底层构造,它可以让我们利用web服务器的servlets处理邮件。Email服务到处都是,开始是DARPA(国防部高级研究计划局)的一个计划并最终发展为Internet,但是James成为了打破这一传统规则的第一个应用。
The Java Apache 企业邮件服务器(a.k.a. Apache James)是一个100%用Java实现的SMTP和POP3邮件服务器,同时,他还实现了NNTP新闻服务器的功能。James被设计成一个完整的、可移植的企业邮件引擎解决方案,他完全基于目前可用的开放性协议。James还是一个邮件应用平台。Apache组织提供了一套Java API-mailet API,利用mailet API,可以根据自己的需要用Java语言编写代码来对邮件进行个性化的处理。mailet可以生成一个自动回复,更新数据库,阻止垃圾邮件,建立消息档案,或者任何我们能想像的到的功能。与mailet密切相关的是消息适配器(matcher),一个消息适配器可以判断mailet是否要对服务器中的一个邮件进行处理。
James项目提供了Mailet API和一个邮件应用平台API的实现。他建立在Apache Avalon应用框架(关于Avalon -http://avalon.apache.org/)的基础之上。
二 James组成
James是一个支持多种协议的消息处理和存储引擎,目前由以下几个部分组成:
1. 两个邮件服务器(SMTP和POP3)
2. 一个远程管理服务器
3. 一个NNTP服务器
4. 一个支持Mailet API的邮件处理引擎
5. 一个文件系统消息存储机制和一个关系型数据库消息存储机制接口
6.文件系统用户记录存储机制和一个试用的LDAP目录存储接口
7. 支持POP3和远程管理的TLS(SSL)连接
8. 支持SMTP认证
三 James的设计目标
James被设计为实现几个确定的目标。比如它完全使用Java开发以便适应最大的轻便行;它提供了很多安全特性用于保护服务器的运行环境安全还提供了安全服务。James是多线程的,它使用了很多Avalon架构提供的功能。
James提供了完善的服务,包括一个完全可以运行的Email服务器。这些服务主要是有Macther和MailetAPI实现的,这两个API提供了Email检查和处理功能。James支持标准的email协议(SMTP,POP3,IMAP),另外还提供了一些附加功能,它使用了松散耦合的插件设计方式使消息框架从协议中抽象出来。这种设计方式非常有用,你可以把James当作一个通常的消息服务器或者为即时消息传输提供支持。
James一个更重要的设计目标是提出了mailet概念,mailet提供了一个开发邮件应用程序的完整生命周期。当然你也可以在这里使用其他MTA(邮件传输代理),比如SendMail,要这样作的话你需要提供一个可调用的程序然后将数据传送给它来完成工作,不过,James提供了一套更简单、通用的API来完成这些工作。下面让我们来更进一步的了解Matcher和MailetAPI。
四 邮件服务器搭建
4.1 搭建准备
james-2.3.2是apache下的开源项目。
下载地址:http://james.apache.org/download.cgi
首先确保你的机器一安装jdk并配置JAVA_HOME,具体请百度。
4.1.1 windows环境
- 进入控制面板,点击启动或关闭windows功能。
- 在里面找到telnet的服务端和客户端选择打开。
4.2 服务器配置修改
4.2.1 局域网配置
1、下载服务器安装包,2.3.2.zip,解压运行(windows双击bin目录下的run.bat启动;linux进入bin目录下 ./run.sh & 启动 。最好解压放在纯英文路径下,不然启动容易报错闪退)。
启动成功如下:
注:James 启动时,其SMTP 服

最低0.47元/天 解锁文章
799





