網上很多有關james的基本配置,很有借鑒意義.本文主要說的是james基于mysql:
1
注釋掉所有的**file://var/mail/**
找到并去掉注釋**: db://maildb/ **
以下是關于james與mysql的相關配置(需要在lib裡面放入mysql驅動)
com.mysql.jdbc.Driver
jdbc:mysql://127.0.0.1/maildb?autoReconnect=true
root
root
20
使用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