James邮件服务器数据库的相关配置

网上很多有关james的基本配置,很有借鉴意义.本文主要说的是james基于mysql:

  • 1

注释掉所有的**<repositoryPath>file://var/mail/</repositoryPath>** 找到并去掉注释**:<repositoryPath> db://maildb/ </repositoryPath>** 以下是关于james与mysql的相关配置(需要在lib里面放入mysql驱动)

<!-- lang: xml -->

<data-source name="maildb" class="org.apache.james.util.dbcp.JdbcDataSource">
     <!--<driver>org.gjt.mm.mysql.Driver</driver>-->
		<driver>com.mysql.jdbc.Driver</driver>
     <dburl>jdbc:mysql://127.0.0.1/maildb?autoReconnect=true</dburl>
     <user>root</user>
     <password>root</password>
	 <max>20</max>
  </data-source>

使用mysql创建utf8编码数据库 CREATE DATABASE dbname CHARACTER SET utf8 COLLATE utf8_general_ci;

在my.ini中mysqld后面加入max_allowed_packet =50M (附件大小) 这里要加的原因是mysql中有个message_body字段是二进制字段,会存入邮件的MIME实体,MIME实体中会保存包括邮件表头,正文和附件部分,所以会灰常大。如果各位有能解析MIME实体的工具可以直接取该字段进行邮件解析,免去了通过服务器pop3协议登陆和验证的时间。

收附件的时候,会遇到收不到超过10m附件的情况,一个是前面说的mysql字段大小限制,还有一个会有jvm虚拟内存的限制,因为默认16m的虚拟内存是不够的,要在james中修改。这里有两种修改方法: 1)在run.bat中加入set JAVA_OPTS="-Xms32m -Xmx512m -Xss512m" 并启动 2)在conf/wrapper.conf修改并通过服务启动

wrapper.java.initmemory=64 wrapper.java.maxmemory=512

如果想正常收发邮件,请确保好helo或ehlo名,并对自己的mx地址做好dns反向解析,就可以基本保证全网收发.

最后附赠一份james的config(放在james-2.3.2\apps\james\SAR-INF下面,已经全网能收发) 地址是:http://pan.baidu.com/s/1xg8GK

十分钟邮箱地址:http://www.10min.club

转载于:https://my.oschina.net/pengyaxiong/blog/177005

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值