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編碼

相關文章
相關標籤/搜索