首先安装好java环境
从apache网站上下载其二进制压缩包(我当前的下的版本是james2.3.1服务器)
把压缩包解压到硬盘上(我解压的路径是:D:\james)
进入bin目录,运行run.bat,窗口显示:
Using PHOENIX_HOME: D:\James Using PHOENIX_TMPDIR: D:\James\temp Using JAVA_HOME: C:\j2sdk1.6 Phoenix 4.2 James 2.3.1 Remote Manager Service started plain:4555 POP3 Service started plain:110 SMTP Service started plain:25 NNTP Service started plain:119 Fetch POP Disabled
这时表示服务器已经正常启动并运行。如果这里出错,有可能是服务器端口被占用,或jdk环境没有配置好。
输入“ctrl + c”退出。
编辑配置文件:D:\james\apps\james\SAR-INF\config.xml,并找到Postmaster@localhost(大约在35行),把此项改为你的管理员邮箱(我这里以国际域名o130.com为例),如[email protected]
再往下找到(大约在55行):
<!-- Warning: If you are using fetchmail it is important to include the --> <!-- fetched domains in the server name list to prevent looping. --> <servernames autodetect="true" autodetectIP="true"> <!-- CONFIRM? <servername>localhost</servername> --> </servernames>
改其中的<servername>localhost</servername>的注释去掉,改为:
<servername>o130.com</servername>
再往下找有关域名服务器的配置(大约在758行):
<dnsserver> <servers> <!--Enter ip address of your DNS server, one IP address per server --> <!-- element. --> <!-- <server>127.0.0.1</server> --> </servers> <!-- Change autodiscover to false if you would like to turn off autodiscovery --> <!-- and set the DNS servers manually in the <servers> section --> <autodiscover>true</autodiscover> <authoritative>false</authoritative> <!-- Maximum number of entries to maintain in the DNS cache --> <maxcachesize>50000</maxcachesize> </dnsserver>
把其中的 <server>127.0.0.1</server> 改为你的域名服务器的地址,并去掉注释。如果你不知道你的域名服务器的地址,你去查看一下你的域名注册信息,里面通常会有你的域名服务器的地址(到http://www.123cha.com/domain/这里输入你的域名,可以查)。如:“Name Server ..................... dns1.hichina.com dns2.hichina.com”。其中的dns1.hichina.com、dns2.hichina.com即为你的域名解释服务器。这时,你通过 ping 命令 ping dns1.hichina.com 即可得到域名服务器的ip地址,然后把127.0.0.1改为你的域名服务器ip地址。如果有多个,可以写成:
<server>218.30.103.49</server> <server>218.244.147.40</server>
再往下找,修改远程管理的配置(大约在780行后),把里面的<account login="root" password="root" />(第799行)用户名密码改为自己的用户名和密码。
再往下找,修改smtp服务器的配置(大约在840行后),首先把(第876行开始):
<!-- <authRequired>true</authRequired> -->
的注释去掉,改为:
<!-- --> <authRequired>true</authRequired>
再把以下内容(第900行):
<!-- <verifyIdentity>true</verifyIdentity> -->
的注释也去掉,改为:
<!----> <verifyIdentity>true</verifyIdentity>
这样就可以防止自己的邮件服务器成为别人发送垃圾邮件的服务器了。
默认的情况下,james的配置是启用新闻组服务器的。而我们常常不用这个服务器,因此我们可以通过修改以下的配置关掉它:
把(第930行)“<nntpserver enabled="TRUE">”改为:“<nntpserver enabled="false">”即可。
重启服务器后,邮件服务器服务器就可以正常工作了。要添加邮件的客户,可以用telnet登录管理器进行管理。如果嫌麻烦的话,也可以到这里:http://yawebmail.sourceforge.net/index.html 下载一个开源的web邮件客户端、james邮件服务器管理客户端。这两个客户端都是开源的 java web 应用程序。下载后扔进一个web容器里运行即可。
如果需要使用数据库来保存用户数据的话,可以参考james网站上的参考文档。也可以看看这篇博客:http://www.yeqiangwei.com/club/f4b0l0fp1t240321p1.html
其他的问题,也可以到这里来看一下相关的中文参考文档:http://www.5dmail.net/NewList-108.htm
当然,要使邮件服务器与外面的邮件能正常往来,不要忘了做域名的mx记录。
最后,如有知道如何把一个james服务器配置成支持多个域名的朋友(即在一台james邮件服务器上,有多个域名,每个域名有各自独立的、互不干扰的用户系统),请指点一下,谢谢了。