登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> 程序员学前班[不再更新,只读] >> 主题: james apache 的邮件服务器     [回主站]     [分站链接]
标题
james apache 的邮件服务器
clq
浏览(0) + 2010-07-09 11:49:13 发表 编辑

关键字:

http://james.apache.org/download.cgi#Apache_James_Server
clq
2010-7-9 11:55:47 发表 编辑

http://www.5dmail.net/html/2009-2-20/2009220133300.htm
不过它对 smtp 服务器的设置好象是错误的.
--------------------------------------------------

Apache james mailserver + Claros inTouch webmail

出处:5DMail.Net收集整理 作者:5DMail.Net收集整理 时间:2009-2-20 13:32:56


准备:
    环境winxp + jdk1.6 + tomcat6.0.16
    apache james2.3 (邮件服务器)
    Claros inTouch2.1.war (WebMail界面程序)

安装:
    1、安装james邮件服务容器:james下载后直接解压后启动就可以了,
       对james_home\apps\james\SAR-INF\config.xml做修改。
   
    1.1:修改自己的邮件服务名,如同abc123@byzh.com   
1 <postmaster>Postmaster@byzh.com</postmaster>
2 <servernames autodetect="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<mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
2            <processor> relay-denied </processor>
3            <notice>550 - Requested action not taken: relaying denied</notice>
4</mailet>
   
    并且,开启SMTP Server 身份验证:
1<authRequired>true</authRequired>

    1.3:修改远程管理。以便在cmd控制台中执行telnet byzh.com 4566命令。
 1  <remotemanager enabled="true">
 2       <port>4566</port>
 3       <handler>
 4          <helloName autodetect="true">myMailServer</helloName>
 5          <administrator_accounts>
 6             <account login="root" password="123456"/>
 7          </administrator_accounts>
 8          <connectiontimeout>60000</connectiontimeout>
 9          <prompt>welcome to mt Sever&gt;</prompt>
10       </handler>
11 </remotemanager>

    1.4:修改pop3,stmp,nntp服务。
 1 <pop3server enabled="true">
 2       <port>110</port>
 3       <handler>
 4          <helloName autodetect="true">myMailServer</helloName>
 5          <connectiontimeout>120000</connectiontimeout>
 6       </handler>
 7</pop3server>

 8 <smtpserver enabled="true">
 9       <port>25</port>
10       <handler>
11          <helloName autodetect="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 <nntpserver enabled="true">
19       <port>119</port>
20       <handler>
21          <helloName autodetect="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>这一项,此面默认的内容为:
1 <repository name="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">
2          <destination URL="file://var/users/"/>
3 </repository>

    需要修改为:

1 <repository name="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数据库,把此项内容修改为:

1 <data-source name="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文件,增加一个地址映射。
1 #192.168.0.100 byzh.com
2
  127.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。
<?xml version="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>Claros inTouch 2.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>
            
            
<!-- your imap/pop3 server ip/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>
            
            
<!-- IMAP only: if you use courier or cyrus you'll need to set the following to "INBOX."
            (with the dot(.) but omit the quotes) 
-->

            
<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如下:
  1 CREATE TABLE `CALENDAR_OBJECTS` (
  2
   `ID` bigint(20) unsigned NOT NULL auto_increment,
  3
   `USERNAME` varchar(255NOT NULL default '',
  4
   `RECORD_DATE` timestamp NOT NULL,
  5
   `REPEAT_TYPE` int(11NOT NULL default '0',
  6
   `CATEGORY` varchar(255NOT NULL default '',
  7
   `DESCRIPTION` text NOT NULL,
  8
   `REMINDER_DAYS` int(11NOT NULL default '0',
  9
   PRIMARY KEY  (`ID`)
 10
 ) ENGINE= InnoDB default charset=utf8;
 11
 
 12 Dump of table CONTACTS
 13
 ------------------------------------------------------------
 14 
 15 CREATE TABLE `CONTACTS` (
 16
   `ID` bigint(20) unsigned NOT NULL auto_increment,
 17
   `USERNAME` varchar(255default '',
 18
   `FIRST_NAME` varchar(100NOT NULL default '',
 19
   `MIDDLE_NAME` varchar(100default '',
 20
   `LAST_NAME` varchar(100NOT NULL default '',
 21
   `TITLE` varchar(50default '',
 22
   `SEX` varchar(10default '',
 23
   `GSM_NO_PRIMARY` varchar(30default '',
 24
   `GSM_NO_ALTERNATE` varchar(30default '',
 25
   `EMAIL_PRIMARY` varchar(255default '',
 26
   `EMAIL_ALTERNATE` varchar(255default '',
 27
   `WEB_PAGE` varchar(255default '',
 28
   `PERSONAL_NOTE` text,
 29
   `SPOUSE_NAME` varchar(255default '',
 30
   `NICK_NAME` varchar(50default '',
 31
   `HOME_ADDRESS` text,
 32
   `HOME_CITY` varchar(255default '',
 33
   `HOME_PROVINCE` varchar(255default '',
 34
   `HOME_ZIP` varchar(5default '',
 35
   `HOME_COUNTRY` varchar(100default '',
 36
   `HOME_PHONE` varchar(30default '',
 37
   `HOME_FAKS` varchar(30default '',
 38
   `WORK_COMPANY` varchar(100default '',
 39
   `WORK_JOB_TITLE` varchar(100default '',
 40
   `WORK_DEPARTMENT` varchar(100default '',
 41
   `WORK_OFFICE` varchar(100default '',
 42
   `WORK_PROFESSION` varchar(100default '',
 43
   `WORK_MANAGER_NAME` varchar(255default '',
 44
   `WORK_ASSISTANT_NAME` varchar(255default '',
 45
   `WORK_ADDRESS` text,
 46
   `WORK_CITY` varchar(255default '',
 47
   `WORK_PROVINCE` varchar(255default '',
 48
   `WORK_ZIP` varchar(5default '',
 49
   `WORK_COUNTRY` varchar(100default '',
 50
   `WORK_PHONE` varchar(30default '',
 51
   `WORK_FAKS` varchar(30default '',
 52
   `BIRTH_DAY` varchar(2default NULL,
 53
   `ANNIVERSARY_DAY` varchar(2default NULL,
 54
   `BIRTH_MONTH` varchar(2default NULL,
 55
   `ANNIVERSARY_MONTH` varchar(2default NULL,
 56
   PRIMARY KEY  (`ID`)
 57
 ) ENGINE= InnoDB default charset=utf8;
 58
 
 59 Dump of table CONTACT_GROUPS
 60
 ------------------------------------------------------------
 61 
 62 CREATE TABLE `CONTACT_GROUPS` (
 63
   `ID` bigint(20) unsigned NOT NULL auto_increment,
 64
   `USERNAME` varchar(255NOT NULL default '',
 65
   `SHORT_NAME` varchar(100default '',
 66
   `DESCRIPTION` varchar(255default '',
 67
   PRIMARY KEY  (`ID`)
 68
 ) ENGINE= InnoDB default charset=utf8;
 69
 
 70 Dump of table CONTACT_GROUP_OBJECTS
 71
 ------------------------------------------------------------
 72 
 73 CREATE TABLE `CONTACT_GROUP_OBJECTS` (
 74
   `ID` bigint(20) unsigned NOT NULL auto_increment,
 75
   `USERNAME` varchar(255NOT NULL default '',
 76
   `GROUP_ID` bigint(20NOT NULL default '0',
 77
   `CONTACT_ID` bigint(20NOT NULL default '0',
 78
   PRIMARY KEY  (`ID`)
 79
 ) ENGINE= InnoDB default charset=utf8;
 80
 
 81 
 82 
 83 Dump of table FOLDER_DB_OBJECTS
 84
 ------------------------------------------------------------
 85 
 86 CREATE TABLE `FOLDER_DB_OBJECTS` (
 87
   `ID` bigint(20) unsigned NOT NULL auto_increment,
 88
   `USERNAME` varchar(255default NULL,
 89
   `PARENT_ID` bigint(20default '0',
 90
   `FOLDER_NAME` varchar(100NOT NULL default '',
 91
   `FOLDER_TYPE` int(10) unsigned NOT NULL default '4',
 92
   PRIMARY KEY  (`ID`),
 93
   KEY `USERNAME` (`USERNAME`)
 94
 ) ENGINE= InnoDB default charset=utf8;
 95
 
 96 Dump of table MSG_DB_OBJECTS
 97
 ------------------------------------------------------------
 98 
 99 CREATE TABLE `MSG_DB_OBJECTS` (
100
   `ID` bigint(20) unsigned NOT NULL auto_increment,
101
   `USERNAME` varchar(255NOT NULL default '',
102
   `FOLDER_ID` bigint(20) unsigned NOT NULL default '0',
103
   `UNIQUE_ID` varchar(100NOT NULL default '',
104
   `UNREAD` tinyint(1default '0',
105
   `MSG_SIZE` bigint(20) unsigned NOT NULL default '0',
106
   `EMAIL` longblob,
107
   PRIMARY KEY  (`ID`)
108
 ) ENGINE= InnoDB default charset=utf8;
109
 
110 
111 Dump of table MSG_RULES
112
 ------------------------------------------------------------
113 
114 CREATE TABLE `MSG_RULES` (
115
   `ID` bigint(20) unsigned NOT NULL auto_increment,
116
   `USERNAME` varchar(255NOT NULL default '',
117
   `PORTION` varchar(100default NULL,
118
   `RULE_CONDITION` varchar(30default NULL,
119
   `KEYWORD` varchar(255default NULL,
120
   `RULE_ACTION` varchar(30default NULL,
121
   `DESTINATION` varchar(100default NULL,
122
   PRIMARY KEY  (`ID`),
123
   KEY `USERNAME` (`USERNAME`)
124
 ) ENGINE= InnoDB default charset=utf8;
125
 
126 Dump of table NOTES
127
 ------------------------------------------------------------
128 
129 CREATE TABLE `NOTES` (
130
   `ID` bigint(20) unsigned NOT NULL auto_increment,
131
   `USERNAME` varchar(255NOT NULL default '',
132
   `FOLDER_ID` bigint(20NOT NULL default '0',
133
   `NOTE_CONTENT` text,
134
   `POS_LEFT` int(11default NULL,
135
   `POS_TOP` int(11default NULL,
136
   `POS_WIDTH` int(11default NULL,
137
   `POS_HEIGHT` int(11default NULL,
138
   `NOTE_COLOR` varchar(20default NULL,
139
   `NOTE_BAR_COLOR` varchar(20default NULL,
140
   `NOTE_BORDER_COLOR` varchar(20default NULL,
141
   `NOTE_DATE` datetime default NULL,
142
   PRIMARY KEY  (`ID`)
143
 ) ENGINE= InnoDB default charset=utf8;
144
 
145 Dump of table NOTES_FOLDERS
146
 ------------------------------------------------------------
147 
148 CREATE TABLE `NOTES_FOLDERS` (
149
   `ID` bigint(20) unsigned NOT NULL auto_increment,
150
   `USERNAME` varchar(255NOT NULL default '',
151
   `FOLDER_NAME` varchar(255NOT NULL default '',
152
   PRIMARY KEY  (`ID`)
153
 ) ENGINE= InnoDB default charset=utf8;
154
 
155 Dump of table PREFERENCES
156
 ------------------------------------------------------------
157 
158 CREATE TABLE `PREFERENCES` (
159
   `ID` bigint(20) unsigned NOT NULL auto_increment,
160
   `USERNAME` varchar(255NOT NULL,
161
   `PREF_KEY` varchar(255NOT NULL,
162
   `PREF_VALUE` varchar(255NOT NULL,
163
   PRIMARY KEY  (`ID`)
164
 ) ENGINE= InnoDB default charset=utf8;
165
 
166 Dump of table QUEUE
167
 ------------------------------------------------------------
168 
169 CREATE TABLE `QUEUE` (
170
   `ID` bigint(20) unsigned NOT NULL auto_increment,
171
   `MSG_FROM` varchar(255NOT NULL default '',
172
   `MSG_TO` varchar(255NOT NULL,
173
   `MSG_TIME` timestamp NOT NULL,
174
   `MSG_BODY` longtext NOT NULL,
175
   `MSG_DIRECTION` varchar(3NOT NULL,
176
   `DELIVERED` int(11NOT NULL default '0',
177
   PRIMARY KEY  (`ID`)
178
 ) ENGINE= InnoDB default charset=utf8;
179
 
180 Dump of table USER_PREFERENCES
181
 ------------------------------------------------------------
182 
183 CREATE TABLE `USER_PREFERENCES` (
184
   `ID` bigint(20) unsigned NOT NULL auto_increment,
185
   `USERNAME` varchar(255NOT NULL default '',
186
   `KEYWORD` varchar(255NOT NULL default '',
187
   `PREF_VALUE` varchar(255NOT NULL default '',
188
   PRIMARY KEY  (`ID`)
189
 ) ENGINE= InnoDB default charset=utf8;
  
    2.2:启动tomcat,打开浏览器,输入http://localhost:8080/intouch2/index.jsp
    2.3:登录inTouch WebMail,用户b/123456。

    如果不能登录,可以查看log文件夹底下的log文件,查看出错信息。


clq
2010-7-9 12:01:27 发表 编辑

如何用Apache James把E-mail从内网(内部局域网)发到外网


第一步. 得到DNS, 在windows上可通过ipconfig /all得到, 如下

D:\>ipconfig /all

Windows IP Configuration

Host Name . . . . . . . . . . . . : holen
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No

Ethernet adapter 本地连接:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : Myson MTD80X Based Fast Ethernet Car
d #3
Physical Address. . . . . . . . . : 00-40-95-00-2E-B3
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
Autoconfiguration IP Address. . . : 169.254.224.137
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :

PPP adapter adsl:

Connection-specific DNS Suffix . :
Description . . . . . . . . . . . : WAN (PPP/SLIP) Interface
Physical Address. . . . . . . . . : 00-53-45-00-00-00
Dhcp Enabled. . . . . . . . . . . : No
IP Address. . . . . . . . . . . . : 221.216.144.61
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : 221.216.144.61
DNS Servers . . . . . . . . . . . : 202.106.0.20
202.106.46.151
NetBIOS over Tcpip. . . . . . . . : Disabled

如上,DNS即202.106.0.20或202.106.46.151

第二步 打开D:\james-2.1.3\apps\james\SAR-INF\config.xml

默认是第344行, 原为<server>127.0.0.1</server>, 改为<server>202.106.0.20</server>即可.

这时, 假如你在James上建立了一个帐号holen@localhost,则可从该帐号发信到holen@263.net.
,


总数:2 页次:1/1 首页 尾页  
总数:2 页次:1/1 首页 尾页  


所在合集/目录



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1