Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5438244
  • 博文数量: 895
  • 博客积分: 17977
  • 博客等级: 上将
  • 技术积分: 8691
  • 用 户 组: 普通用户
  • 注册时间: 2005-08-26 09:59
个人简介

一个好老好老的老程序员了。

文章分类

全部博文(895)

文章存档

2021年(2)

2020年(10)

2019年(40)

2018年(88)

2017年(130)

2015年(5)

2014年(12)

2013年(41)

2012年(36)

2011年(272)

2010年(1)

2009年(53)

2008年(65)

2007年(47)

2006年(81)

2005年(12)

分类: Java

2007-08-29 19:55:00

 

一、安装:
1.  环境要求:
已安装Java平台,版本为j2sdk1.4.2,环境变量JAVA_HOME设为C:\j2sdk1.4.2
2.  下载与运行:
Apache网站上下载得到一个压缩的文件james-2.1-bin.zip,大小为4.44M,将此包解压到C:\James\james-2.1下。
运行分为两种方式:前台直接运行、作为后台服务运行;
1>前台直接运行:
C:\James\james-2.1\bin下运行run.bat
这是会出现:
Using PHOENIX_HOME:   C:\James\james-2.1
Using PHOENIX_TMPDIR: C:\James\james-2.1\temp
Using JAVA_HOME:      C:\j2sdk1.4.2
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
这是就表示James邮件服务以开启,不过Window下不能关闭控制台窗口,否者邮件服务会停止。如要克服此缺点必须使James邮件服务作为作为后台服务运行。
停止前台运行按Ctrl+C,会出现:
JVM exiting abnormally. Shutting down Phoenix.
终止批处理操作吗(Y/N)?
2>后台服务运行:
C:\James\james-2.1\conf目录下的wrapper.conf拷贝到C:\James\james-2.1\bin即包含wrapper.exe的目录下,运行:
wrapper.exe    -i     C:\James\james-2.1\bin\wrapper.conf 
然后在控制面板中开启服务或重启即可。
卸载后台服务:
C:\James\james-2.1\bin即包含wrapper.exe的目录下,运行:
wrapper.exe     -r    C:\James\james-2.1\bin\wrapper.conf
3.   
二、配置:
1>服务器端配置(邮件服务器的名字假设叫EmailServer,服务器管理员名Admin
首先停止已开启的James邮件服务,然后打开文件C:\James\james-2.1\apps\james\SAR-INF\config.xml
Ø         config.xml文件中,找到Postmaster@localhost,把此项改为Admin@EmailServer,同时,找到位于

-

-

-

-

-

  localhost

 

localhost,把此项改为EmailServer。这样就可以让其它机器也能访问邮件系统。

 

 

 

Ø         DNS配置:找到同上文件中段中的如下程序段:

-

-

-

-

-

  127.0.0.1

 

  false

 

127.0.0.1的位置填入DNS服务器的IP地址;

 

 

 

Ø         修改管理员密码:

找到同上文件中的段,如下程序段

-

-

-

 

 

 

 

 

将默认用户名root与密码root修改为需要的值

 

 

 

Ø         修改telnet管理程序登录端口 :(默认为4555

找到同上文件中的段下的port如下程序段

-

  4555

-

-          注释掉的,打开即可;记住把


        

注释掉;

通过修改,我们就把用户信息的存储介质从file改成了db是指明了在db中的数据表结构及相关数据库信息。

 

 

 

第四步:仍然是config.xml,找到项,默认内容为空,把此项内容修改为:


                           org.gjt.mm.mysql.Driver
                            jdbc:mysql://127.0.0.1/mail
                            root
                           
                            20

或打开文件下面实例的 注释

是指MySQLJDBC驱动,注意这个默认的是有问题的,要改成MySQL的驱动程序中Driver.class的路径,即:

                   com.mysql.jdbc.Driver

指数据库的访问路径,IP后的mailMySQL新建数据库名,接下来是用户名、密码及最大连接数。

 

 

 

再次启动时,james将在mail数据库中自动创建有关用户的表格。

 

 

 

至此,数据库配置完成,启动James,若正常无误,请通过telnet添加一个新用户,比如adduser holen 123456,然后检查MySQL中的mail数据库,下面将有一个表users,这是James根据file://conf/sqlResources.xml的内容创建的。

通过以上配置,James的用户信息就可以保存在数据库中了。

注:修改以前的账户会丢失!

 

 

 

 

 

 

一、FAQ

1 在启动james时,提示POP3SMTP不能使用?

请检查一下,看“管理工具—>服务”里面,是不是启动了别的邮件服务器,已将11025端口占用了。

       实例:

james前台直接运行时出错:

ERROR   2005-08-25 08:58:38.642 [Phoenix.] (): Component named "smtpserver" failed to pass through the Initialization stage. (Reason: java.net.BindException: Address already in use: JVM_Bind).

 

 

 

ERROR   2005-08-25 08:58:38.652 [Phoenix.] (): There was an error running phase "startup" for Block named "smtpserver". (Reason: Component named "smtpserver" failed to pass through the Initialization stage. (Reason: java.net.BindException: Address already in use: JVM_Bind).).

 

 

 

org.apache.excalibur.containerkit.lifecycle.LifecycleException: Component named "smtpserver" failed to pass through the Initialization stage. (Reason: java.net.BindException: Address already in use: JVM_Bind).

 

 

 

原因:

  james默认设置不允许在同一台机器上跑两个邮件服务器进程。必须关掉另一个!

 

检测方法:

console界面下:

  d:> telnet 主机名 25(或110

如果可以登录,出现

  220 主机名 Microsoft ESMTP MAIL Service, Version: 6.0.2600.1106 ready at  Thu,

 25 Aug 2005 14:14:36 +0800

则说明此机器上已有一台邮件服务器在运行。

 

 

 

解决:

检查Windows上运行服务:

跨网传输电子邮件的服务Simple Mail Transfer Protocol (SMTP),是否启动

如启动关闭之!

 

 

 

2 JAVA_HOME找不到?

请在run.bat中指定JAVA_HOME,若还不行,请在“我的电脑—>系统—>高级—>环境变量”中添加一项JAVA_HOME

 

 

 

3 服务器启动正常,但客户端不能收发邮件?

请检查客户端配置是否正常,参照前面所讲,另外,请检查james下的config.xml,是否把localhost改成了机器名。

 

 

 

4、修改为数据库储存后,james启动出错:

一般是数据库驱动有错。检查一下


                           org.gjt.mm.mysql.Driver
                            jdbc:mysql://127.0.0.1/mail
                            root
                           
                            20

org.gjt.mm.mysql.Driver是否对

 

 

 

 

 

 


 

阅读(3506) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~