1、一、简介Apache James(Java Apache Mail Enterprise Server)是 Apache 组织的子项目之一,完全采用纯 Java 技术开发,实现了 SMTP、POP3 与 NNTP 等多种邮件相关协议。James 也是一个邮件应用平台,可以通过 Mailet 扩充其功能,如 Mail2SMS、Mail2Fax 等。James 提供了比较完善的配置方案,尤其是关于邮件内容存储和用户信息存储部分,可以选择在文件、数据库或其他介质中保存。本文将以 James2.3.2 版本作为介绍二、安装与配置James 的安装配置过程非常简单。第一步:安装 JDK请使用 JDK1.
2、3 以上版本(推荐使用 JDK1.5),假设安装在 c:/jdk1.5。第二步:下载 James,并解压可以到 Apache 网站上下载 Jamesjames-2.3.2,下载将得到一个压缩文件 james-2.3.2.zip,大小为 7.30M,将此包解压到 c:/james。下载地址:官方地址:http:/james.apache.org/下载地址:http:/mirror.utdlug.org/apache/james/server/binaries/james-binary-2.3.1.zip 第三步:直接运行或需要配置 JAVA_HOME这时,可以尝试直接双击 c:/james/bi
3、n/run.bat,若启动无误,将提示如下:Using PHOENIX_HOME: C:/jamesUsing PHOENIX_TMPDIR: C:/james/tempUsing JAVA_HOME:Phoenix 4.0.1James 2.3.2Remote Manager Service started plain:4555POP3 Service started plain:110SMTP Service started plain:25NNTP Service DisabledFetch POP Disabled也有可能启动不了,并报 JAVA_HOME 找不到,这时,需要指定 JA
4、VA_HOME,比较简单的方法是在 c:/james/bin/run.bat 中指定 JAVA_HOME,修改后的 run.bat 如下:remrem Determine if JAVA_HOME is set and if so then use itremset JAVA_HOME= c:/jdk1.5if not “%JAVA_HOME%“=“ goto found_java修改完后再运行 run.bat,应该就可以正常启动了第四步:服务器配置首先找出专用服务器的名字,假设叫 weimao。然后打开文件 c:/james/apps/james/SAR-INF/config.xml。在 c
5、onfig.xml 文件中,找到Postmasterlocalhost ,把此项改为Postmasterweimao,同理,找到localhost,把此项改为weimao 。其实,改这两项就是把默认的 localhost 改为机器名,这样做是为了让其它机器也能访问邮件系统,当然,前提是在局域网上没有与服务器重名的机器。帐号管理James 的账号管理是通过 telnet 完成的,登录命令为:telnet localhost 4555登录时需要用户名和密码,初始的用户名和密码均为 root。若登录成功,提示如下:JAMES Remote Administration Tool 2.1Please
6、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:Welcome root. HELP for a list of commandsCurrently implemented commands:help
7、 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 usersetpassword username password sets a users passwordsetalias alias user loc
8、ally 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 another user repositoryshutdown kills the current JVM (convenient when Ja
9、mes is run as a daemon)quit close connection常用的命令有 listusers、countusers、adduser 、deluser、setpassword 等。其中添加用户为 adduser,例如:adduser holen 123456。通过这个后台管理界面,管理员就可以实现账号管理及其他相应的管理功能。接下来可以用客户端连接发送测试邮件了,我采用的 formail。打开 formail 点击新建一个帐号。比如我刚才添加了一个帐号 weimao,密码为 123456 如何在 Outlook 中配置呢。如何在 formail 中配置呢?首先,根据用
10、户名,可以得出该用户邮箱地址为 weimaoweimao ,然后在输入 POP3和 SMTP 服务器时,直接使用服务器机器名 weimao 即可。接下来最终要的一个环节。就是我们搭建服务器是要给外网的邮箱发送的。下面讲如何配置发送: 打开/james/apps/james/SAR-INF/config.xml 文件, 1. 找到 设成 autodetct 设为 true 会自动侦测你的主机名, 设成 false 会用你指定的 server name. autodetectIP 设为 true 会为你的 servername 加上 ip. 2. 设置 servername 将默认的为 local
11、host 改成你的 server 名字 如 weimao.NET, 然后打开 C:/WINDOWS/system32/drivers/etc/hosts 文件,添加 127.0.0.1 weimao.Net3. 注释掉 relay-denied 550 - Requested action not taken: relaying denied4. 配置 DNS Server 在 cmd 中用 ipconfig /all 命令查看你的 dns server ip DNS Servers . . . . . . . . . . . : 202.96.209.6 192.168.1.1添加如下: 202.96.209.6 192.168.1.1 同时设置 autodiscover 为 false 5.重启 server 就 ok 了。本人发送给 126,163 ,QQ 都没问题,hotmail 和 sina 会当做 junk mail 拒收.sina 会去反域名解析,如果你有域名的话应该没问题的 .如果有域名的话直接配置一下 MX 就可以了。剩下的就是我们采用程序来进行发送,在这里我就不贴代码了,网上一大推。大家自己去看看吧。有什么问题可以直接邮件我: