分享
 
 
 

James的安装与使用

王朝java/jsp·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

一、安装:

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,同时,找到位于

<!-- By default, the servername 'localhost' is specified. This can be removed, if required. -->

- <!--

-->

- <!-- Warning: If you are using fetchpop 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>

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

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

- <dnsserver>

- <servers>

- <!-- CONFIRM? -->

- <!-- Enter ip address of your DNS server, one IP address per server -->

- <!-- element. The default configuration assumes a DNS server on the localhost. -->

<server>127.0.0.1</server>

</servers>

<authoritative>false</authoritative>

</dnsserver>

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

Ø 修改管理员密码:

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

- <administrator_accounts>

- <!-- CHECKME!

-->

- <!-- Change the default login/password.

-->

<account login="root" password="root" />

</administrator_accounts>

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

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

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

- <remotemanager>

<port>4555</port>

- <!-- Uncomment this if you want to bind to a specific inetaddress

-->

- <!--

将<port>4555</port>之间的端口号4555改为需要的端口。

2> 客户端配置:(略)

3> 帐号管理

James的账号管理是通过telnet完成的,登录命令为:

telnet EmailServer 4555

其中EmailServer也可以换成IP,4555是端口号。登录时需要用户名和密码,开始默认的用户名和密码均为root。若登录成功,提示如下:

JAMES Remote Administration Tool 2.1

Please enter your login and password

Login id:

此时输入root用户名,然后会出现:

Password:

输入密码root

注意:在有些操作系统如Windows2000上,用户输入均不显示。

telnet命令列表:

help

显示帮助

Listusers

列出目前存在的账户

Countusers

显示目前存在的账户的数量

addusers [用户名] [密码]

添加新用户

verify [用户名]

验证特定用户是否存在

deluser [用户名]

删除已存在用户

setpassword [用户名] [密码]

设置某一用户的密码

setalias [别名] [用户名]

从本地将[别名]的所有邮件转寄[用户名]

unsetalias [别名]

取消setalias设置

setforwarding [用户名] [email地址]

将[用户名]的邮件转寄指定[email地址]

unsetforwarding [用户名]

取消setforwarding设置

user [资源]

变为另一用户的资源

shutdown

停止当前James邮件服务的JVM程序(对于James为后台服务时,用此命令很方便)

Quit

断开telnet连接

4>用户信息的数据库存储

James邮件用户的用户信息默认保存在apps\james\var\users目录下,通过修改配置文件apps\james\SAR-INF\config.xml,可以把用户信息保存到数据库中,配置方法如下:

假设使用的是MySQL数据库:

第一步:首先将MySQL的驱动程序(例如:mysql-connector-java-3.1.6-bin.jar)考到james的lib目录下(例如:D:\james\lib)

第二步:在MySQL中新建一个数据库mail;

第三步:打开config.xml,找到<users-store>这一项,此面默认的内容为:

<repository name="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">

<destination URL="file://var/users/"/>

</repository>

需要修改为:

<repository name="LocalUsers"

class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">

<sqlFile>file://conf/sqlResources.xml</sqlFile>

</repository>

其实如不修改也行,因为文件下面也有实例,不过是用<!-- 和 --> 注释掉的,打开即可;记住把

<repository name="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">

<destination URL="file://var/users/"/>

</repository>

用<!-- 和 --> 注释掉;

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

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

<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">

<driver>org.gjt.mm.mysql.Driver</driver>

<dburl>jdbc:mysql://127.0.0.1/mail</dburl>

<user>root</user>

<password></password>

<max>20</max>

</data-source>

或打开文件下面实例的<!-- 和 --> 注释

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

<driver>com.mysql.jdbc.Driver</driver>

<dburl>指数据库的访问路径,IP后的mail即MySQL中新建数据库名,接下来是用户名、密码及最大连接数。

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

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

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

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

一、FAQ

1、 在启动james时,提示POP3或SMTP不能使用?

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

实例:

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启动出错:

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

<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">

<driver>org.gjt.mm.mysql.Driver</driver>

<dburl>jdbc:mysql://127.0.0.1/mail</dburl>

<user>root</user>

<password></password>

<max>20</max>

</data-source>

的<driver>org.gjt.mm.mysql.Driver</driver>是否对

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有