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

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

  • 1

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

<!-- lang: xml -->sql

<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协议登录和验证的时间。apache

收附件的时候,会遇到收不到超过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=512app

若是想正常收发邮件,请确保好helo或ehlo名,并对本身的mx地址作好dns反向解析,就能够基本保证全网收发.jvm

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

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

相关文章
相关标签/搜索