这是我去年在CSDN上发的文章,我用的版本是2.1.3的,连外网还没试过,我再试一下
JAMES自带的说明文档很简单,许多地方都是一点带过,光靠看说明文档许多问题是解决不了的
由于JAMES也是APACHE的子项目,所以他的安装也就是直接解压就可以用了
拿我来说吧,解压到d:\james下,解压后,进入d:\james\apps目录
里面有个james.sar文件,在该文件上点击右键用WINRAR解压,注意不要修改默认的解压路径
然后进入D:\james-2.1.3\apps\james\SAR-INF,里面的config.xml就是JAMES的核心配置文件了首先更改服务器名,默认都是localhost,要让别人可以用你机器上的服务器,就要改咯 ,我的机器名叫 mrp-cz
<postmaster>Postmaster@localhost</postmaster>改成<postmaster>Postmaster@mrp-cz</postmaster>
<servername>localhost</servername>改成<servername>mrp-cz</servername>还有一些POP3和SMTP的端口设置这些,一般都不用改动的,用默认值就可以了
在outlook里面设置POP3和SMTP地址的时候,不许要写端口号,直接写服务器地址就可以了下面主要是说一下如果将JAMES跟数据库想连接,以便跟自己的项目紧密结合起来, 在JAMES的说明文件里面说得太简单了,
大家可以参考一下说明文件里面关于Repositories的说明
JAMES的数据存放方式有三种:file,db,dbfile 
file就是以文件方式储存
db当然是数据库
dbfile我个人感觉一般都不会用它的,它是把消息头用数据库方式存放,而把消息体用文件方式存放随便说一下拉,拿文件存放来说 D:\james-2.1.3\apps\james\var\mail里面就是存放的信件内容
spool里面是存放的正在处理的信件,而inbox里面是存放的已发送邮件,数据库也是一样D:\james-2.1.3\apps\james\conf\sqlResources.xml是SQL描述文件,里面支持
大部分主流数据库,如果你用的数据库在里面没有,自己增加就是
目前支持MSSQLSERVER,MYSQL,ORACLE等主流数据库好了,开始配置了
先找到config.xml里面的<database-connections>,默认里面是没有实际内容的,只有两个被屏蔽了的例子
我用的MS SQL,所以就直接把MSSQL的那个例子拿来用了, 下面就是我的配置文件,跟JBOSS差不多
 <data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
            <driver>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver>
            <dburl>jdbc:microsoft:sqlserver://mit-devserver:1433;DatabaseName=JAMES</dburl>
            <user>sa</user>
            <password>1</password>
            <max>20</max>
         </data-source>
  name就是该连接的标识,以后设连接就都用它了  然后是邮件的存放设置,找到<inboxRepository>项
  默认是<repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
  屏蔽掉,在它下面有个例子  <repository destinationURL="db://maildb/inbox/" type="MAIL"/>,激活它  然后是spool,找到<spoolRepository>将默认屏蔽掉
  激活<repository destinationURL="db://maildb/spool/spool" type="SPOOL"/>  然后是user,同样将默认的去掉,改成
  <repository name="LocalUsers" class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">
         <sqlFile>file://conf/sqlResources.xml</sqlFile>
      </repository>

解决方案 »

  1.   

    谢谢!连接数据库MSSQL成功!谢谢!等待您看看发到外网的问题!先给你留下50分了!可不可以加为QQ或MSN好友呀!我QQ是380839808 MSN:[email protected]
      

  2.   

    我记忆中好象发邮件不需要怎么配,只要你本机联了网的,在OUTLOOK里面用JAMES的邮箱帐户作为默认帐户,是可以成功将邮件发到外网的
     至于接收外网信箱的邮件,我看了一下james.2.2.0的配置文件,你可以看一下config.xml关于fetchsmtp的设置,config.xml里面没例子,但是说明中是说可以用的
     还有一个james-fetchmail.xml,也值得看一下
      

  3.   

    tijichen:看来发到外网还是要配置的,如果不配置在发送时光报被拒收错误是500错误OUTLOOK和FOXMAIL是报同样的错误!收外网的意思是我可以从163.COM的信息发到比如AAA@LOCALHOST这样的本地信息,这个我问过了至少我们要申请个外网的IP和开通相应的服务才可以,不过应该是可以从内网发到外网才对我配置IMAIL时可以的!
      

  4.   

    怎么过了一个假期还没有解决问题!闷呀!tijichen(笑起来像狗) 怎么在不结贴还能给你50分!说话要算话的!也看过一些关于收发外网的!说要配置DNS还有什么的不过都没有成功!你有答案了吗?
      

  5.   

    http://community.csdn.net/Expert/topic/3333/3333373.xml?temp=.1014368