You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ba...@apache.org on 2006/10/17 01:53:01 UTC
svn commit: r464742 - in /james/server/trunk: ./ lib/ src/conf/
src/java/org/apache/james/mailrepository/javamail/
src/java/org/apache/james/util/ src/java/org/apache/james/util/io/
src/schema/
Author: bago
Date: Mon Oct 16 16:53:00 2006
New Revision: 464742
URL: http://svn.apache.org/viewvc?view=rev&rev=464742
Log:
merging imap-integration branch
Added:
james/server/trunk/src/conf/mailboxManagerSqlResources.xml
- copied unchanged from r464701, james/server/sandbox/imap-integration/src/conf/mailboxManagerSqlResources.xml
james/server/trunk/src/java/org/apache/james/util/Assert.java
- copied unchanged from r464707, james/server/sandbox/imap-integration/src/java/org/apache/james/util/Assert.java
james/server/trunk/src/schema/
- copied from r464707, james/server/sandbox/imap-integration/src/schema/
james/server/trunk/src/schema/project-schema.xml
- copied unchanged from r464707, james/server/sandbox/imap-integration/src/schema/project-schema.xml
Removed:
james/server/trunk/lib/commons-collections-2.1.1.jar
Modified:
james/server/trunk/build.xml
james/server/trunk/include.properties
james/server/trunk/pom.xml
james/server/trunk/src/conf/james-assembly.xml
james/server/trunk/src/conf/james-config.xml
james/server/trunk/src/conf/james-server.xml
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreGateKeeperAware.java
james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java
james/server/trunk/src/java/org/apache/james/util/io/AndFileFilter.java
james/server/trunk/src/java/org/apache/james/util/io/ClassLoaderObjectInputStream.java
james/server/trunk/src/java/org/apache/james/util/io/DirectoryFileFilter.java
james/server/trunk/src/java/org/apache/james/util/io/ExtensionFileFilter.java
james/server/trunk/src/java/org/apache/james/util/io/IOUtil.java
james/server/trunk/src/java/org/apache/james/util/io/InvertedFileFilter.java
james/server/trunk/src/java/org/apache/james/util/io/ResettableFileInputStream.java
Modified: james/server/trunk/build.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/build.xml?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/build.xml (original)
+++ james/server/trunk/build.xml Mon Oct 16 16:53:00 2006
@@ -89,6 +89,11 @@
<include name="${commons-logging.jar}"/>
<include name="${jdom.jar}"/>
<include name="${xstream.jar}"/>
+
+ <include name="${torque.jar}"/>
+ <include name="${village.jar}"/>
+ <include name="${commons-lang.jar}"/>
+ <include name="${commons-configuration.jar}"/>
</fileset>
<pathelement path="${java.class.path}" />
<pathelement path="${build.classes}" />
@@ -284,6 +289,7 @@
<fileset dir="${java.dir}">
<include name="**/*.properties"/>
<include name="**/*.xinfo"/>
+ <include name="**/*.xml"/>
<include name="**/*.mxinfo"/>
</fileset>
</copy>
@@ -463,6 +469,7 @@
<echo message="Making James Jar (james-${version}.jar)"/>
<jar jarfile="${build.lib}/${name}-${version}.jar" basedir="${build.classes}" manifest="${src.dir}/Manifest.mf">
<include name="org/apache/james/**"/>
+ <include name="*.xml"/>
<metainf dir="${build.metainf}"/>
</jar>
@@ -519,10 +526,19 @@
<include name="${commons-logging.jar}"/>
<include name="${jdom.jar}"/>
<include name="${xstream.jar}"/>
+
+ <include name="${torque.jar}"/>
+ <include name="${village.jar}"/>
+ <include name="${commons-lang.jar}"/>
+ <include name="${commons-configuration.jar}"/>
+ <include name="${commons-beanutils.jar}"/>
</lib>
<zipfileset dir="${conf.dir}" fullpath="conf/sqlResources.xml">
<include name="sqlResources.xml"/>
</zipfileset>
+ <zipfileset dir="${conf.dir}" fullpath="conf/mailboxManagerSqlResources.xml">
+ <include name="mailboxManagerSqlResources.xml"/>
+ </zipfileset>
<zipfileset dir="${conf.dir}" fullpath="conf/james-fetchmail.xml">
<include name="james-fetchmail.xml"/>
</zipfileset>
@@ -743,6 +759,7 @@
<target name="unit-tests-classpath" depends="compile">
<path id="unittest.class.path">
<pathelement location="tools/lib/commons-net-1.4.1.jar"/>
+ <pathelement location="tools/lib/jmock-1.1.0RC1.jar"/>
<fileset dir="${lib.dir}">
<include name="*.jar"/>
</fileset>
Modified: james/server/trunk/include.properties
URL: http://svn.apache.org/viewvc/james/server/trunk/include.properties?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/include.properties (original)
+++ james/server/trunk/include.properties Mon Oct 16 16:53:00 2006
@@ -44,7 +44,7 @@
# ----- Commons -----
commons-dbcp.jar=commons-dbcp-1.2.1.jar
commons-pool.jar=commons-pool-1.2.jar
-commons-collections.jar=commons-collections-2.1.1.jar
+commons-collections.jar=commons-collections-3.1.jar
# ----- Jakarta ORO -----
jakarta-oro.jar=jakarta-oro-2.0.8.jar
@@ -95,5 +95,13 @@
commons-logging.jar=commons-logging.jar
jdom.jar=jdom.jar
xstream.jar=xstream.jar
+
+# ----- torque -----
+
+torque.jar=torque-3.2.jar
+village.jar=village-2.0.jar
+commons-lang.jar=commons-lang-2.1.jar
+commons-configuration.jar=commons-configuration-1.1.jar
+commons-beanutils.jar=commons-beanutils-1.7.0.jar
Modified: james/server/trunk/pom.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/pom.xml?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/pom.xml (original)
+++ james/server/trunk/pom.xml Mon Oct 16 16:53:00 2006
@@ -203,6 +203,12 @@
</dependency>
<dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.1</version>
+ </dependency>
+
+ <dependency>
<groupId>cornerstone-connection</groupId>
<artifactId>cornerstone-connection-api</artifactId>
<version>2.1</version>
@@ -365,6 +371,13 @@
</dependency>
<dependency>
+ <groupId>jmock</groupId>
+ <artifactId>jmock</artifactId>
+ <version>1.1.0</version>
+ <scope>test</scope>
+ </dependency>
+
+ <dependency>
<groupId>org.apache.derby</groupId>
<artifactId>derby</artifactId>
<version>10.1.3.1</version>
@@ -387,6 +400,27 @@
<groupId>xstream</groupId>
<artifactId>xstream</artifactId>
<version>1.2</version>
+ </dependency>
+
+ <dependency>
+ <groupId>torque</groupId>
+ <artifactId>torque</artifactId>
+ <version>3.2</version>
+ <exclusions>
+ <exclusion>
+ <groupId>jndi</groupId>
+ <artifactId>jndi</artifactId>
+ </exclusion>
+ <!-- this would require an older version of avalon and james would not build -->
+ <exclusion>
+ <groupId>avalon-framework</groupId>
+ <artifactId>avalon-framework</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>javax.sql</groupId>
+ <artifactId>jdbc-stdext</artifactId>
+ </exclusion>
+ </exclusions>
</dependency>
</dependencies>
Modified: james/server/trunk/src/conf/james-assembly.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/conf/james-assembly.xml?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/conf/james-assembly.xml (original)
+++ james/server/trunk/src/conf/james-assembly.xml Mon Oct 16 16:53:00 2006
@@ -38,6 +38,10 @@
role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
</block>
+ <block name="mailboxmanager" class="org.apache.james.mailboxmanager.torque.TorqueMailboxManagerProvider">
+ <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+ </block>
+
<!-- The James Spool Manager block -->
<block name="spoolmanager" class="org.apache.james.transport.JamesSpoolManager" >
<provide name="spoolrepository" role="org.apache.james.services.SpoolRepository"/>
@@ -94,6 +98,21 @@
<provide name="users-store" role="org.apache.james.services.UsersStore"/>
</block>
+ <!-- IMAP Server -->
+ <block name="imapserver" class="org.apache.james.imapserver.ImapServer" >
+ <provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
+ <provide name="sockets"
+ role="org.apache.avalon.cornerstone.services.sockets.SocketManager"/>
+ <provide name="connections"
+ role="org.apache.james.services.JamesConnectionManager"/>
+ <provide name="James" role="org.apache.james.services.MailServer"/>
+ <provide name="thread-manager"
+ role="org.apache.avalon.cornerstone.services.threads.ThreadManager" />
+ <provide name="mailboxmanager"
+ role="org.apache.james.mailboxmanager.manager.MailboxManagerProvider" />
+ <provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
+ </block>
+
<!-- POP3 Server -->
<block name="pop3server" class="org.apache.james.pop3server.POP3Server" >
<provide name="localusersrepository" role="org.apache.james.services.UsersRepository"/>
@@ -154,13 +173,22 @@
<provide name="dnsserver" role="org.apache.james.services.DNSServer"/>
</block>
- <!-- The High Level Storage block -->
+ <!-- The High Level Storage block
<block name="mailstore" class="org.apache.james.core.AvalonMailStore" >
<provide name="database-connections"
role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
<provide name="filesystem" role="org.apache.james.services.FileSystem" />
</block>
-
+ -->
+
+ <block name="mailstore" class="org.apache.james.mailboxmanager.repository.MyAvalonMailStore" >
+ <provide name="database-connections"
+ role="org.apache.avalon.cornerstone.services.datasources.DataSourceSelector" />
+ <provide name="mailboxmanager"
+ role="org.apache.james.mailboxmanager.manager.MailboxManagerProvider" />
+ <provide name="filesystem" role="org.apache.james.services.FileSystem" />
+ </block>
+
<!-- The main SpoolRepository -->
<block name="spoolrepository" class="org.apache.james.mailrepository.MailStoreSpoolRepository" >
<provide name="mailstore"
Modified: james/server/trunk/src/conf/james-config.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/conf/james-config.xml?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/conf/james-config.xml (original)
+++ james/server/trunk/src/conf/james-config.xml Mon Oct 16 16:53:00 2006
@@ -99,8 +99,33 @@
<repository destinationURL="mbox:///var/mail/" type="MAIL"/>
</inboxRepository>
-->
+ <!-- Experimental IMAP support
+ <inboxRepository>
+ <repository destinationURL="mailboxmanager://users/" type="MAIL" />
+ </inboxRepository>
+ -->
</James>
+ <!-- Experimental IMAP support -->
+ <mailboxmanager>
+ <torque-properties>
+ <property name="torque.database.default" value="mailboxmanager" />
+ <property name="torque.database.mailboxmanager.adapter" value="derby" />
+ <property name="torque.dsfactory.mailboxmanager.factory" value="org.apache.torque.dsfactory.SharedPoolDataSourceFactory" />
+ <property name="torque.dsfactory.mailboxmanager.connection.driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
+ <property name="torque.dsfactory.mailboxmanager.connection.url" value="jdbc:derby:../apps/james/var/mailboxmanager-derbydb;create=true" />
+ <property name="torque.dsfactory.mailboxmanager.connection.user" value="app" />
+ <property name="torque.dsfactory.mailboxmanager.connection.password" value="app" />
+ <property name="torque.dsfactory.mailboxmanager.pool.maxActive" value="100" />
+ </torque-properties>
+ </mailboxmanager>
+ <imapserver enabled="true">
+ <port>10143</port>
+ <handler>
+ <streamdump enabled="true" directory="../apps/james/streamdump" />
+ </handler>
+ </imapserver>
+
<!-- This is an example configuration for FetchMail, a JavaMail based gateway -->
<!-- service that pulls messages from other sources, and inserts them into the -->
<!-- spool. They are then processed normally, although FetchMail generally -->
@@ -1029,7 +1054,17 @@
<!-- The Mailstore block -->
<mailstore>
<repositories>
-
+ <repository class="org.apache.james.mailboxmanager.repository.MailboxManagerMailRepository">
+ <protocols>
+ <protocol>mailboxmanager</protocol>
+ </protocols>
+ <types>
+ <type>MAIL</type>
+ </types>
+ <config>
+ <sqlFile>file://conf/mailboxManagerSqlResources.xml</sqlFile>
+ </config>
+ </repository>
<!-- File based repositories. These repositories store all message data -->
<!-- in the file system. -->
<repository class="org.apache.james.mailrepository.AvalonMailRepository">
Modified: james/server/trunk/src/conf/james-server.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/src/conf/james-server.xml?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/conf/james-server.xml (original)
+++ james/server/trunk/src/conf/james-server.xml Mon Oct 16 16:53:00 2006
@@ -29,6 +29,12 @@
<category name="" log-level="INFO">
<log-target id-ref="default"/>
</category>
+ <category name="mailboxmanager" log-level="DEBUG">
+ <log-target id-ref="mailboxmanager-target"/>
+ </category>
+ <category name="imapserver" log-level="DEBUG">
+ <log-target id-ref="imapserver-target"/>
+ </category>
<category name="mailetpackages" log-level="INFO">
<log-target id-ref="James-Mailet-target"/>
</category>
@@ -110,6 +116,28 @@
</or>
</rotation>
</file>
+ <file id="mailboxmanager-target">
+ <filename>${app.home}/logs/mailboxmanager</filename>
+ <format>%{time:dd/MM/yy HH:mm:ss} %5.5{priority} %{category}: %{message}\n%{throwable}</format>
+ <append>true</append>
+ <rotation type="unique" pattern="-yyyy-MM-dd-HH-mm" suffix=".log">
+ <or>
+ <date>dd</date>
+ <size>10485760</size>
+ </or>
+ </rotation>
+ </file>
+ <file id="imapserver-target">
+ <filename>${app.home}/logs/imapserver</filename>
+ <format>%{time:dd/MM/yy HH:mm:ss} %5.5{priority} %{category}: %{message}\n%{throwable}</format>
+ <append>true</append>
+ <rotation type="unique" pattern="-yyyy-MM-dd-HH-mm" suffix=".log">
+ <or>
+ <date>dd</date>
+ <size>10485760</size>
+ </or>
+ </rotation>
+ </file>
<file id="James-Mailet-target">
<filename>${app.home}/logs/mailet</filename>
<format>%{time:dd/MM/yy HH:mm:ss} %5.5{priority} %{category}: %{message}\n%{throwable}</format>
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/HashJavamailStoreMailRepository.java Mon Oct 16 16:53:00 2006
@@ -50,8 +50,6 @@
* message content. (checksum save). This implementation should be considered as
* EXPERIMENTAL.
*
- * @author Joachim Draeger <jd at joachim-draeger.de>
- *
* TODO examine for thread-safety
*/
public class HashJavamailStoreMailRepository extends
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreGateKeeperAware.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreGateKeeperAware.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreGateKeeperAware.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/StoreGateKeeperAware.java Mon Oct 16 16:53:00 2006
@@ -19,15 +19,10 @@
package org.apache.james.mailrepository.javamail;
-
-
/**
* Bridge, that allows JavamailStoreMailRepository implementations to offer the
* underlaying Javamail Store
- *
- * @author Joachim Draeger <jd at joachim-draeger.de>
*/
-
public interface StoreGateKeeperAware {
public StoreGateKeeper getStore();
Modified: james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java (original)
+++ james/server/trunk/src/java/org/apache/james/mailrepository/javamail/UIDPlusFolderMailRepository.java Mon Oct 16 16:53:00 2006
@@ -301,8 +301,6 @@
/**
*
* maybe it could be replaced by BidiMap from commons-collections 3.0+
- *
- * @author Joachim Draeger <jd at joachim-draeger.de>
*/
private class UidToKeyBidiMapImpl implements UidToKeyBidiMap {
Modified: james/server/trunk/src/java/org/apache/james/util/io/AndFileFilter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/util/io/AndFileFilter.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/util/io/AndFileFilter.java (original)
+++ james/server/trunk/src/java/org/apache/james/util/io/AndFileFilter.java Mon Oct 16 16:53:00 2006
@@ -42,9 +42,7 @@
* }
* </pre>
*
- * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision$ $Date$
- * @since 4.0
*/
public class AndFileFilter
implements FilenameFilter
Modified: james/server/trunk/src/java/org/apache/james/util/io/ClassLoaderObjectInputStream.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/util/io/ClassLoaderObjectInputStream.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/util/io/ClassLoaderObjectInputStream.java (original)
+++ james/server/trunk/src/java/org/apache/james/util/io/ClassLoaderObjectInputStream.java Mon Oct 16 16:53:00 2006
@@ -31,7 +31,6 @@
* A special ObjectInputStream to handle highly transient classes hosted
* by Avalon components that are juggling many classloaders.
*
- * @author <a href="mailto:paul_hammant@yahoo.com">Paul Hammant</a>
* @version $Revision$ $Date$
*/
public class ClassLoaderObjectInputStream
Modified: james/server/trunk/src/java/org/apache/james/util/io/DirectoryFileFilter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/util/io/DirectoryFileFilter.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/util/io/DirectoryFileFilter.java (original)
+++ james/server/trunk/src/java/org/apache/james/util/io/DirectoryFileFilter.java Mon Oct 16 16:53:00 2006
@@ -36,9 +36,7 @@
* }
* </pre>
*
- * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version $Revision$ $Date$
- * @since 4.0
*/
public class DirectoryFileFilter
implements FilenameFilter
Modified: james/server/trunk/src/java/org/apache/james/util/io/ExtensionFileFilter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/util/io/ExtensionFileFilter.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/util/io/ExtensionFileFilter.java (original)
+++ james/server/trunk/src/java/org/apache/james/util/io/ExtensionFileFilter.java Mon Oct 16 16:53:00 2006
@@ -40,11 +40,7 @@
* }
* </pre>
*
- * @author Federico Barbieri <fe...@apache.org>
- * @author Serge Knystautas <se...@lokitech.com>
- * @author Peter Donald
* @version CVS $Revision$ $Date$
- * @since 4.0
*/
public class ExtensionFileFilter
implements FilenameFilter
Modified: james/server/trunk/src/java/org/apache/james/util/io/IOUtil.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/util/io/IOUtil.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/util/io/IOUtil.java (original)
+++ james/server/trunk/src/java/org/apache/james/util/io/IOUtil.java Mon Oct 16 16:53:00 2006
@@ -79,10 +79,7 @@
* (or three if the destination stream is also buffered) is pointless, and the unnecessary buffer
* management hurts performance slightly (about 3%, according to some simple experiments).</p>
*
- * @author Peter Donald
- * @author <a href="mailto:jefft@apache.org">Jeff Turner</a>
* @version CVS $Revision$ $Date$
- * @since 4.0
*/
/*
Modified: james/server/trunk/src/java/org/apache/james/util/io/InvertedFileFilter.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/util/io/InvertedFileFilter.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/util/io/InvertedFileFilter.java (original)
+++ james/server/trunk/src/java/org/apache/james/util/io/InvertedFileFilter.java Mon Oct 16 16:53:00 2006
@@ -27,9 +27,7 @@
* This takes a <code>FilenameFilter<code> as input and inverts the selection.
* This is used in retrieving files that are not accepted by a filter.
*
- * @author <a href="mailto:dev@avalon.apache.org">Avalon Development Team</a>
* @version CVS $Revision$ $Date$
- * @since 4.0
*/
public class InvertedFileFilter
implements FilenameFilter
Modified: james/server/trunk/src/java/org/apache/james/util/io/ResettableFileInputStream.java
URL: http://svn.apache.org/viewvc/james/server/trunk/src/java/org/apache/james/util/io/ResettableFileInputStream.java?view=diff&rev=464742&r1=464741&r2=464742
==============================================================================
--- james/server/trunk/src/java/org/apache/james/util/io/ResettableFileInputStream.java (original)
+++ james/server/trunk/src/java/org/apache/james/util/io/ResettableFileInputStream.java Mon Oct 16 16:53:00 2006
@@ -27,9 +27,6 @@
import java.io.IOException;
import java.io.InputStream;
-/**
- * @author Federico Barbieri <fe...@apache.org>
- */
public class ResettableFileInputStream
extends InputStream
{
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org