Apache james mailserver + Claros inTouch webmail

本文详细介绍如何在WinXP环境下配置James邮件服务器及ClarosinTouch WebMail客户端,并实现用户信息的数据库存储。
准备:
环境winxp + jdk1.6 + tomcat6.0.16
apache james2.3 (邮件服务器)
Claros inTouch2.1.war (WebMail界面程序)
<script>function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}</script>
安装:
1、安装james邮件服务容器:james下载后直接解压后启动就可以了,
对james_home/apps/james/SAR-INF/config.xml做修改。

1.1:修改自己的邮件服务名,如同abc123@byzh.com
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1<postmaster>Postmaster@byzh.com</postmaster>
2<servernamesautodetect="true"autodetectIP="true">
3<servername>byzh.com</servername>
4</servernames>

1.2:修改dns服务。
1<dnsserver>
2<servers>
3<server>byzh.com</server>
4<server>smtp.163.com</server>
5<server>mail.126.com</server>
6</servers>
7<!--修改自动探测为false如果为true可能在开发时出现异常-->
8<autodiscover>false</autodiscover>
9<authoritative>false</authoritative>
10<maxcachesize>50000</maxcachesize>
11</dnsserver>

修改了dns,就要注释掉以下配置
1<mailetmatch="RemoteAddrNotInNetwork=127.0.0.1"class="ToProcessor">
2<processor>relay-denied</processor>
3<notice>550-Requestedactionnottaken:relayingdenied</notice>
4</mailet>

并且,开启SMTP Server 身份验证:
1<authRequired>true</authRequired>

1.3:修改远程管理。以便在cmd控制台中执行telnet byzh.com 4566命令。
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1<remotemanagerenabled="true">
2<port>4566</port>
3<handler>
4<helloNameautodetect="true">myMailServer</helloName>
5<administrator_accounts>
6<accountlogin="root"password="123456"/>
7</administrator_accounts>
8<connectiontimeout>60000</connectiontimeout>
9<prompt>welcometomtSever&gt;</prompt>
10</handler>
11</remotemanager>

1.4:修改pop3,stmp,nntp服务。
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1<pop3serverenabled="true">
2<port>110</port>
3<handler>
4<helloNameautodetect="true">myMailServer</helloName>
5<connectiontimeout>120000</connectiontimeout>
6</handler>
7</pop3server>

8<smtpserverenabled="true">
9<port>25</port>
10<handler>
11<helloNameautodetect="true">myMailServer</helloName>
12<connectiontimeout>360000</connectiontimeout>
13<authRequired>true</authRequired>
14<authorizedAddresses>127.0.0.0/8</authorizedAddresses>
15<maxmessagesize>0</maxmessagesize>
16</handler>
17</smtpserver>

18<nntpserverenabled="true">
19<port>119</port>
20<handler>
21<helloNameautodetect="true">myMailServer</helloName>
22<connectiontimeout>120000</connectiontimeout>
23<authRequired>false</authRequired>
24</handler>
25</nntpserver>

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


打开config.xml,找到<users-store>这一项,此面默认的内容为:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1<repositoryname="LocalUsers"class="org.apache.james.userrepository.UsersFileRepository">
2<destinationURL="file://var/users/"/>
3</repository>

需要修改为:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1<repositoryname="LocalUsers"class="org.apache.james.userrepository.JamesUsersJdbcRepository"
destinationURL
="db://maildb/users">
2<sqlFile>file://conf/sqlResources.xml</sqlFile>
3 </repository>

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

仍然是config.xml,找到<data-sources>项,注意先要创建好java_mail数据库,把此项内容修改为:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1<data-sourcename="maildb"class="org.apache.james.util.mordred.JdbcDataSource">
2 <driver>com.mysql.jdbc.Driver</driver>
3 <dburl>jdbc:mysql://127.0.0.1:3306/java_mail?useUnicode=true&amp;characterEncoding=UTF-8</dburl>
4<user>root</user>
5 <password>root</password>
6<max>20</max>
7</data-source>

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

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

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


1.6:修改c:/windows/system32/drivers/etc/hosts文件,增加一个地址映射。
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1#192.168.0.100byzh.com
2127.0.0.1 byzh.com

1.8:执行james_home/bin/run.bat,启动james2.3服务。

1.8:进入命令模式,执行telnet byzh.com 4566,连接james2.3服务。

1.9:以管理员省份登录james2.3服务,用户就是1.3节配置的root/123456。
1.9.1:添加2个用户,a/123456,b/123456。


2:安装claros inTouch,下载claros-intouch-2.1,把intouch2.war拷贝到tomcat中。配置tomcat_home/webapps/intouch2/WEB-INF/config/config.xml。
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --><?xmlversion="1.0"encoding="UTF-8"?>
<claros-config>

<common-params>
<charset>utf-8</charset>
<server-timezone>Europe/Istanbul</server-timezone>
<tmp-dir>/tmp</tmp-dir>
<max-attachment-size>5</max-attachment-size>
<max-mail-size>10</max-mail-size>
<title>ClarosinTouch2.1</title>
<spam-check-enabled>false</spam-check-enabled>
<default-lang>zh_cn_utf8</default-lang>
<rss-feed>http://rss.cnn.com/rss/cnn_topstories.rss</rss-feed>
</common-params>

<chat>
<default-domain>claros.org</default-domain>
<msn-transport>msn.claros.org</msn-transport>
<yahoo-transport>yahoo.claros.org</yahoo-transport>
<icq-transport>icq.claros.org</icq-transport>
<aol-transport>aol.claros.org</aol-transport>
</chat>

<servers>
<server>
<shortname>byzh.com</shortname>

<!--yourimap/pop3serverip/dns
<fetch-server-port>143</fetch-server-port>
<fetch-protocol>imap</fetch-protocol>
-->
<fetch-server>byzh.com</fetch-server>
<fetch-server-port>110</fetch-server-port>
<fetch-protocol>pop3</fetch-protocol>
<fetch-ssl>false</fetch-ssl>

<smtp-server>byzh.com</smtp-server>
<smtp-server-port>25</smtp-server-port>
<smtp-authenticated>true</smtp-authenticated>
<smtp-ssl>false</smtp-ssl>

<!--IMAPonly:ifyouusecourierorcyrusyou'llneedtosetthefollowingto"INBOX."
(withthedot(.)butomitthequotes)
-->
<folder-namespace></folder-namespace>
</server>
</servers>

<db-config>
<db>
<!-- do not change the term file -->
<id>file</id>
<database>jdbc:mysql://127.0.0.1:3306/java_mail?useUnicode=true&amp;characterEncoding=UTF-8</database>
<driver>com.mysql.jdbc.Driver</driver>
<login>root</login>
<password>root</password>
</db>
</db-config>

</claros-config>

注意点:安装路径不能带空格,不然会找不到config.xml。
正常情况下就可以登录了,数据库使用了是MySQL。

2.1:同样在java_mail数据库中创建inTouch webmail需要的表,sql如下:
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->1CREATETABLE`CALENDAR_OBJECTS`(
2`ID`bigint(20)unsignedNOTNULLauto_increment,
3`USERNAME`varchar(255)NOTNULLdefault'',
4`RECORD_DATE`timestampNOTNULL,
5`REPEAT_TYPE`int(11)NOTNULLdefault'0',
6`CATEGORY`varchar(255)NOTNULLdefault'',
7`DESCRIPTION`textNOTNULL,
8`REMINDER_DAYS`int(11)NOTNULLdefault'0',
9PRIMARYKEY(`ID`)
10)ENGINE=InnoDBdefaultcharset=utf8;
11
12#DumpoftableCONTACTS
13#------------------------------------------------------------
14
15CREATETABLE`CONTACTS`(
16`ID`bigint(20)unsignedNOTNULLauto_increment,
17`USERNAME`varchar(255)default'',
18`FIRST_NAME`varchar(100)NOTNULLdefault'',
19`MIDDLE_NAME`varchar(100)default'',
20`LAST_NAME`varchar(100)NOTNULLdefault'',
21`TITLE`varchar(50)default'',
22`SEX`varchar(10)default'',
23`GSM_NO_PRIMARY`varchar(30)default'',
24`GSM_NO_ALTERNATE`varchar(30)default'',
25`EMAIL_PRIMARY`varchar(255)default'',
26`EMAIL_ALTERNATE`varchar(255)default'',
27`WEB_PAGE`varchar(255)default'',
28`PERSONAL_NOTE`text,
29`SPOUSE_NAME`varchar(255)default'',
30`NICK_NAME`varchar(50)default'',
31`HOME_ADDRESS`text,
32`HOME_CITY`varchar(255)default'',
33`HOME_PROVINCE`varchar(255)default'',
34`HOME_ZIP`varchar(5)default'',
35`HOME_COUNTRY`varchar(100)default'',
36`HOME_PHONE`varchar(30)default'',
37`HOME_FAKS`varchar(30)default'',
38`WORK_COMPANY`varchar(100)default'',
39`WORK_JOB_TITLE`varchar(100)default'',
40`WORK_DEPARTMENT`varchar(100)default'',
41`WORK_OFFICE`varchar(100)default'',
42`WORK_PROFESSION`varchar(100)default'',
43`WORK_MANAGER_NAME`varchar(255)default'',
44`WORK_ASSISTANT_NAME`varchar(255)default'',
45`WORK_ADDRESS`text,
46`WORK_CITY`varchar(255)default'',
47`WORK_PROVINCE`varchar(255)default'',
48`WORK_ZIP`varchar(5)default'',
49`WORK_COUNTRY`varchar(100)default'',
50`WORK_PHONE`varchar(30)default'',
51`WORK_FAKS`varchar(30)default'',
52`BIRTH_DAY`varchar(2)defaultNULL,
53`ANNIVERSARY_DAY`varchar(2)defaultNULL,
54`BIRTH_MONTH`varchar(2)defaultNULL,
55`ANNIVERSARY_MONTH`varchar(2)defaultNULL,
56PRIMARYKEY(`ID`)
57)ENGINE=InnoDBdefaultcharset=utf8;
58
59#DumpoftableCONTACT_GROUPS
60#------------------------------------------------------------
61
62CREATETABLE`CONTACT_GROUPS`(
63`ID`bigint(20)unsignedNOTNULLauto_increment,
64`USERNAME`varchar(255)NOTNULLdefault'',
65`SHORT_NAME`varchar(100)default'',
66`DESCRIPTION`varchar(255)default'',
67PRIMARYKEY(`ID`)
68)ENGINE=InnoDBdefaultcharset=utf8;
69
70#DumpoftableCONTACT_GROUP_OBJECTS
71#------------------------------------------------------------
72
73CREATETABLE`CONTACT_GROUP_OBJECTS`(
74`ID`bigint(20)unsignedNOTNULLauto_increment,
75`USERNAME`varchar(255)NOTNULLdefault'',
76`GROUP_ID`bigint(20)NOTNULLdefault'0',
77`CONTACT_ID`bigint(20)NOTNULLdefault'0',
78PRIMARYKEY(`ID`)
79)ENGINE=InnoDBdefaultcharset=utf8;
80
81
82
83#DumpoftableFOLDER_DB_OBJECTS
84#------------------------------------------------------------
85
86CREATETABLE`FOLDER_DB_OBJECTS`(
87`ID`bigint(20)unsignedNOTNULLauto_increment,
88`USERNAME`varchar(255)defaultNULL,
89`PARENT_ID`bigint(20)default'0',
90`FOLDER_NAME`varchar(100)NOTNULLdefault'',
91`FOLDER_TYPE`int(10)unsignedNOTNULLdefault'4',
92PRIMARYKEY(`ID`),
93KEY`USERNAME`(`USERNAME`)
94)ENGINE=InnoDBdefaultcharset=utf8;
95
96#DumpoftableMSG_DB_OBJECTS
97#------------------------------------------------------------
98
99CREATETABLE`MSG_DB_OBJECTS`(
100`ID`bigint(20)unsignedNOTNULLauto_increment,
101`USERNAME`varchar(255)NOTNULLdefault'',
102`FOLDER_ID`bigint(20)unsignedNOTNULLdefault'0',
103`UNIQUE_ID`varchar(100)NOTNULLdefault'',
104`UNREAD`tinyint(1)default'0',
105`MSG_SIZE`bigint(20)unsignedNOTNULLdefault'0',
106`EMAIL`longblob,
107PRIMARYKEY(`ID`)
108)ENGINE=InnoDBdefaultcharset=utf8;
109
110
111#DumpoftableMSG_RULES
112#------------------------------------------------------------
113
114CREATETABLE`MSG_RULES`(
115`ID`bigint(20)unsignedNOTNULLauto_increment,
116`USERNAME`varchar(255)NOTNULLdefault'',
117`PORTION`varchar(100)defaultNULL,
118`RULE_CONDITION`varchar(30)defaultNULL,
119`KEYWORD`varchar(255)defaultNULL,
120`RULE_ACTION`varchar(30)defaultNULL,
121`DESTINATION`varchar(100)defaultNULL,
122PRIMARYKEY(`ID`),
123KEY`USERNAME`(`USERNAME`)
124)ENGINE=InnoDBdefaultcharset=utf8;
125
126#DumpoftableNOTES
127#------------------------------------------------------------
128
129CREATETABLE`NOTES`(
130`ID`bigint(20)unsignedNOTNULLauto_increment,
131`USERNAME`varchar(255)NOTNULLdefault'',
132`FOLDER_ID`bigint(20)NOTNULLdefault'0',
133`NOTE_CONTENT`text,
134`POS_LEFT`int(11)defaultNULL,
135`POS_TOP`int(11)defaultNULL,
136`POS_WIDTH`int(11)defaultNULL,
137`POS_HEIGHT`int(11)defaultNULL,
138`NOTE_COLOR`varchar(20)defaultNULL,
139`NOTE_BAR_COLOR`varchar(20)defaultNULL,
140`NOTE_BORDER_COLOR`varchar(20)defaultNULL,
141`NOTE_DATE`datetimedefaultNULL,
142PRIMARYKEY(`ID`)
143)ENGINE=InnoDBdefaultcharset=utf8;
144
145#DumpoftableNOTES_FOLDERS
146#------------------------------------------------------------
147
148CREATETABLE`NOTES_FOLDERS`(
149`ID`bigint(20)unsignedNOTNULLauto_increment,
150`USERNAME`varchar(255)NOTNULLdefault'',
151`FOLDER_NAME`varchar(255)NOTNULLdefault'',
152PRIMARYKEY(`ID`)
153)ENGINE=InnoDBdefaultcharset=utf8;
154
155#DumpoftablePREFERENCES
156#------------------------------------------------------------
157
158CREATETABLE`PREFERENCES`(
159`ID`bigint(20)unsignedNOTNULLauto_increment,
160`USERNAME`varchar(255)NOTNULL,
161`PREF_KEY`varchar(255)NOTNULL,
162`PREF_VALUE`varchar(255)NOTNULL,
163PRIMARYKEY(`ID`)
164)ENGINE=InnoDBdefaultcharset=utf8;
165
166#DumpoftableQUEUE
167#------------------------------------------------------------
168
169CREATETABLE`QUEUE`(
170`ID`bigint(20)unsignedNOTNULLauto_increment,
171`MSG_FROM`varchar(255)NOTNULLdefault'',
172`MSG_TO`varchar(255)NOTNULL,
173`MSG_TIME`timestampNOTNULL,
174`MSG_BODY`longtextNOTNULL,
175`MSG_DIRECTION`varchar(3)NOTNULL,
176`DELIVERED`int(11)NOTNULLdefault'0',
177PRIMARYKEY(`ID`)
178)ENGINE=InnoDBdefaultcharset=utf8;
179
180#DumpoftableUSER_PREFERENCES
181#------------------------------------------------------------
182
183CREATETABLE`USER_PREFERENCES`(
184`ID`bigint(20)unsignedNOTNULLauto_increment,
185`USERNAME`varchar(255)NOTNULLdefault'',
186`KEYWORD`varchar(255)NOTNULLdefault'',
187`PREF_VALUE`varchar(255)NOTNULLdefault'',
188PRIMARYKEY(`ID`)
189)ENGINE=InnoDBdefaultcharset=utf8;

2.2:启动tomcat,打开浏览器,输入http://localhost:8080/intouch2/index.jsp
2.3:登录inTouch WebMail,用户b/123456。

如果不能登录,可以查看log文件夹底下的log文件,查看出错信息。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值