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 ad...@apache.org on 2017/07/05 06:53:12 UTC

[2/8] james-project git commit: JAMES-2089 Make server/app configuration work out of the box

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/managesieveserver-template.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/managesieveserver-template.xml b/server/app/src/main/resources/managesieveserver-template.xml
deleted file mode 100644
index ff2eee7..0000000
--- a/server/app/src/main/resources/managesieveserver-template.xml
+++ /dev/null
@@ -1,95 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one   
-  or more contributor license agreements.  See the NOTICE file 
-  distributed with this work for additional information        
-  regarding copyright ownership.  The ASF licenses this file   
-  to you under the Apache License, Version 2.0 (the            
-  "License"); you may not use this file except in compliance   
-  with the License.  You may obtain a copy of the License at   
-                                                               
-    http://www.apache.org/licenses/LICENSE-2.0                 
-                                                               
-  Unless required by applicable law or agreed to in writing,   
-  software distributed under the License is distributed on an  
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
-  KIND, either express or implied.  See the License for the    
-  specific language governing permissions and limitations      
-  under the License.                                           
- -->
- 
-<!--
-   This template file can be used as example for James Server configuration
-   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
--->
- 
-<!-- See http://james.apache.org/server/3/config.html for usage -->
-
-<managesieveservers>
-
-   <managesieveserver enabled="false">
-
-     <jmxName>managesieveserver</jmxName>
-
-     <!-- Configure this to bind to a specific inetaddress -->
-     <!-- Please NOTE: you should add this IP also to your RemoteAddrNotInNetwork -->
-     <!-- in order to avoid relay check for locallly generated bounces -->
-     <!-- 
-            Port 4190 is the well-known/IANA registered port for ManageSieve.
-            -->
-     <bind>0.0.0.0:4190</bind>
-
-     <connectionBacklog>200</connectionBacklog>
-
-     <!-- Set to true to support STARTTLS or TLS for the Socket.
-           To use this you need to copy sunjce_provider.jar to /path/james/lib directory.
-      -->
-     <tls socketTLS="false" startTLS="false">
-       <!-- To create a new keystore execute:
-        keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore
-         -->
-       <keystore>file://conf/keystore</keystore>
-       <secret>yoursecret</secret>
-       <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
-       <!-- The algorithm is optional and only needs to be specified when using something other
-        than the Sun JCE provider - You could use IbmX509 with IBM Java runtime. -->
-       <algorithm>SunX509</algorithm>
-     </tls>
-         
-        <!-- connection timeout in secconds -->
-        <connectiontimeout>360</connectiontimeout>
-
-        <!-- Set the maximum simultaneous incoming connections for this service -->
-        <connectionLimit>0</connectionLimit>
-         
-        <!-- Set the maximum simultaneous incoming connections per IP for this service -->
-        <connectionLimitPerIP>0</connectionLimitPerIP>
-
-        <!--  Uncomment this if you want to verify sender addresses, ensuring that -->
-        <!--  the sender address matches the user who has authenticated. -->
-        <!--  This prevents a user of your mail server from acting as someone else -->
-        <!--  If unspecified, default value is true -->
-        <!--
-        <verifyIdentity>true</verifyIdentity>
-         -->
-
-        <!--  This sets the maximum allowed message size (in kilobytes) for this -->
-        <!--  ManageSieve service. If unspecified, the value defaults to 0, which means no limit. -->
-        <maxmessagesize>0</maxmessagesize>
-         
-        <!--  This sets wether to enforce the use of HELO/EHLO salutation before a -->
-        <!--  MAIL command is accepted. If unspecified, the value defaults to true -->
-        <!-- 
-        <heloEhloEnforcement>true</heloEhloEnforcement>
-         -->
-         
-        <!-- WARNING: This is Non-RFC compliant (default value: true) -->
-        <!-- See: http://wiki.apache.org/james/StandardsComplianceStatement -->
-        <!-- TODO: CHANGE TO OFFICIAL URL LATER -->
-        <addressBracketsEnforcement>true</addressBracketsEnforcement>
-  
-   </managesieveserver>
-
-</managesieveservers>
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/managesieveserver.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/managesieveserver.xml b/server/app/src/main/resources/managesieveserver.xml
new file mode 100644
index 0000000..ff2eee7
--- /dev/null
+++ b/server/app/src/main/resources/managesieveserver.xml
@@ -0,0 +1,95 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one   
+  or more contributor license agreements.  See the NOTICE file 
+  distributed with this work for additional information        
+  regarding copyright ownership.  The ASF licenses this file   
+  to you under the Apache License, Version 2.0 (the            
+  "License"); you may not use this file except in compliance   
+  with the License.  You may obtain a copy of the License at   
+                                                               
+    http://www.apache.org/licenses/LICENSE-2.0                 
+                                                               
+  Unless required by applicable law or agreed to in writing,   
+  software distributed under the License is distributed on an  
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
+  KIND, either express or implied.  See the License for the    
+  specific language governing permissions and limitations      
+  under the License.                                           
+ -->
+ 
+<!--
+   This template file can be used as example for James Server configuration
+   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
+-->
+ 
+<!-- See http://james.apache.org/server/3/config.html for usage -->
+
+<managesieveservers>
+
+   <managesieveserver enabled="false">
+
+     <jmxName>managesieveserver</jmxName>
+
+     <!-- Configure this to bind to a specific inetaddress -->
+     <!-- Please NOTE: you should add this IP also to your RemoteAddrNotInNetwork -->
+     <!-- in order to avoid relay check for locallly generated bounces -->
+     <!-- 
+            Port 4190 is the well-known/IANA registered port for ManageSieve.
+            -->
+     <bind>0.0.0.0:4190</bind>
+
+     <connectionBacklog>200</connectionBacklog>
+
+     <!-- Set to true to support STARTTLS or TLS for the Socket.
+           To use this you need to copy sunjce_provider.jar to /path/james/lib directory.
+      -->
+     <tls socketTLS="false" startTLS="false">
+       <!-- To create a new keystore execute:
+        keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore
+         -->
+       <keystore>file://conf/keystore</keystore>
+       <secret>yoursecret</secret>
+       <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
+       <!-- The algorithm is optional and only needs to be specified when using something other
+        than the Sun JCE provider - You could use IbmX509 with IBM Java runtime. -->
+       <algorithm>SunX509</algorithm>
+     </tls>
+         
+        <!-- connection timeout in secconds -->
+        <connectiontimeout>360</connectiontimeout>
+
+        <!-- Set the maximum simultaneous incoming connections for this service -->
+        <connectionLimit>0</connectionLimit>
+         
+        <!-- Set the maximum simultaneous incoming connections per IP for this service -->
+        <connectionLimitPerIP>0</connectionLimitPerIP>
+
+        <!--  Uncomment this if you want to verify sender addresses, ensuring that -->
+        <!--  the sender address matches the user who has authenticated. -->
+        <!--  This prevents a user of your mail server from acting as someone else -->
+        <!--  If unspecified, default value is true -->
+        <!--
+        <verifyIdentity>true</verifyIdentity>
+         -->
+
+        <!--  This sets the maximum allowed message size (in kilobytes) for this -->
+        <!--  ManageSieve service. If unspecified, the value defaults to 0, which means no limit. -->
+        <maxmessagesize>0</maxmessagesize>
+         
+        <!--  This sets wether to enforce the use of HELO/EHLO salutation before a -->
+        <!--  MAIL command is accepted. If unspecified, the value defaults to true -->
+        <!-- 
+        <heloEhloEnforcement>true</heloEhloEnforcement>
+         -->
+         
+        <!-- WARNING: This is Non-RFC compliant (default value: true) -->
+        <!-- See: http://wiki.apache.org/james/StandardsComplianceStatement -->
+        <!-- TODO: CHANGE TO OFFICIAL URL LATER -->
+        <addressBracketsEnforcement>true</addressBracketsEnforcement>
+  
+   </managesieveserver>
+
+</managesieveservers>
+
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/pop3server-template.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/pop3server-template.xml b/server/app/src/main/resources/pop3server-template.xml
deleted file mode 100644
index 83d1558..0000000
--- a/server/app/src/main/resources/pop3server-template.xml
+++ /dev/null
@@ -1,81 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one   
-  or more contributor license agreements.  See the NOTICE file 
-  distributed with this work for additional information        
-  regarding copyright ownership.  The ASF licenses this file   
-  to you under the Apache License, Version 2.0 (the            
-  "License"); you may not use this file except in compliance   
-  with the License.  You may obtain a copy of the License at   
-                                                               
-    http://www.apache.org/licenses/LICENSE-2.0                 
-                                                               
-  Unless required by applicable law or agreed to in writing,   
-  software distributed under the License is distributed on an  
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
-  KIND, either express or implied.  See the License for the    
-  specific language governing permissions and limitations      
-  under the License.                                           
- -->
- 
-<!--
-   This template file can be used as example for James Server configuration
-   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
--->
- 
-<!-- See http://james.apache.org/server/3/config.html for usage -->
-
-<pop3servers>
-
-	<!-- The POP3 server is enabled by default -->
-	<!-- Disabling blocks will stop them from listening, -->
-	<!-- but does not free as many resources as removing them would -->
-	<pop3server enabled="true">
-	
-	   <jmxName>pop3server</jmxName>
-	
-	   <!-- Configure this to bind to a specific inetaddress -->
-	   <!-- port 995 is the well-known/IANA registered port for POP3S  ie over SSL/TLS -->
-	   <!-- port 110 is the well-known/IANA registered port for Standard POP3 -->
-	   <bind>0.0.0.0:110</bind>
-	
-	   <connectionBacklog>200</connectionBacklog>
-	
-	   <!-- Set to true to support STARTTLS or SSL for the Socket.
-	         To use this you need to copy sunjce_provider.jar to /path/james/lib directory.
-	    -->
-	   <tls socketTLS="false" startTLS="false">
-	       <!-- To create a new keystore execute:
-	             keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore
-	        -->
-	       <keystore>file://conf/keystore</keystore>
-	       <secret>yoursecret</secret>
-	       <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
-	   </tls>
-	      
-       <!-- This is the name used by the server to identify itself in the POP3 -->
-       <!-- protocol.  If autodetect is TRUE, the server will discover its -->
-       <!-- own host name and use that in the protocol.  If discovery fails, -->
-       <!-- the value of 'localhost' is used.  If autodetect is FALSE, James -->
-       <!-- will use the specified value. -->
-       <!--
-       <helloName autodetect="true">myMailServer</helloName>
-        -->
-       <!-- connection timeout in secconds -->
-       <connectiontimeout>1200</connectiontimeout>
-      
-       <!-- Set the maximum simultaneous incoming connections for this service -->
-       <connectionLimit>0</connectionLimit>
-         
-       <!-- Set the maximum simultaneous incoming connections per IP for this service -->
-       <connectionLimitPerIP>0</connectionLimitPerIP>
-         
-       <handlerchain>
-           <!-- This loads the core CommandHandlers. Only remove this if you really -->
-           <!-- know what you are doing -->
-           <handler class="org.apache.james.pop3server.core.CoreCmdHandlerLoader"/>
-       </handlerchain>
-	    
-	</pop3server>
-	
-</pop3servers>

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/pop3server.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/pop3server.xml b/server/app/src/main/resources/pop3server.xml
new file mode 100644
index 0000000..83d1558
--- /dev/null
+++ b/server/app/src/main/resources/pop3server.xml
@@ -0,0 +1,81 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one   
+  or more contributor license agreements.  See the NOTICE file 
+  distributed with this work for additional information        
+  regarding copyright ownership.  The ASF licenses this file   
+  to you under the Apache License, Version 2.0 (the            
+  "License"); you may not use this file except in compliance   
+  with the License.  You may obtain a copy of the License at   
+                                                               
+    http://www.apache.org/licenses/LICENSE-2.0                 
+                                                               
+  Unless required by applicable law or agreed to in writing,   
+  software distributed under the License is distributed on an  
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
+  KIND, either express or implied.  See the License for the    
+  specific language governing permissions and limitations      
+  under the License.                                           
+ -->
+ 
+<!--
+   This template file can be used as example for James Server configuration
+   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
+-->
+ 
+<!-- See http://james.apache.org/server/3/config.html for usage -->
+
+<pop3servers>
+
+	<!-- The POP3 server is enabled by default -->
+	<!-- Disabling blocks will stop them from listening, -->
+	<!-- but does not free as many resources as removing them would -->
+	<pop3server enabled="true">
+	
+	   <jmxName>pop3server</jmxName>
+	
+	   <!-- Configure this to bind to a specific inetaddress -->
+	   <!-- port 995 is the well-known/IANA registered port for POP3S  ie over SSL/TLS -->
+	   <!-- port 110 is the well-known/IANA registered port for Standard POP3 -->
+	   <bind>0.0.0.0:110</bind>
+	
+	   <connectionBacklog>200</connectionBacklog>
+	
+	   <!-- Set to true to support STARTTLS or SSL for the Socket.
+	         To use this you need to copy sunjce_provider.jar to /path/james/lib directory.
+	    -->
+	   <tls socketTLS="false" startTLS="false">
+	       <!-- To create a new keystore execute:
+	             keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore
+	        -->
+	       <keystore>file://conf/keystore</keystore>
+	       <secret>yoursecret</secret>
+	       <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
+	   </tls>
+	      
+       <!-- This is the name used by the server to identify itself in the POP3 -->
+       <!-- protocol.  If autodetect is TRUE, the server will discover its -->
+       <!-- own host name and use that in the protocol.  If discovery fails, -->
+       <!-- the value of 'localhost' is used.  If autodetect is FALSE, James -->
+       <!-- will use the specified value. -->
+       <!--
+       <helloName autodetect="true">myMailServer</helloName>
+        -->
+       <!-- connection timeout in secconds -->
+       <connectiontimeout>1200</connectiontimeout>
+      
+       <!-- Set the maximum simultaneous incoming connections for this service -->
+       <connectionLimit>0</connectionLimit>
+         
+       <!-- Set the maximum simultaneous incoming connections per IP for this service -->
+       <connectionLimitPerIP>0</connectionLimitPerIP>
+         
+       <handlerchain>
+           <!-- This loads the core CommandHandlers. Only remove this if you really -->
+           <!-- know what you are doing -->
+           <handler class="org.apache.james.pop3server.core.CoreCmdHandlerLoader"/>
+       </handlerchain>
+	    
+	</pop3server>
+	
+</pop3servers>

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/quota-template.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/quota-template.xml b/server/app/src/main/resources/quota-template.xml
deleted file mode 100644
index 9c8c63e..0000000
--- a/server/app/src/main/resources/quota-template.xml
+++ /dev/null
@@ -1,132 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one
-  or more contributor license agreements.  See the NOTICE file
-  distributed with this work for additional information
-  regarding copyright ownership.  The ASF licenses this file
-  to you under the Apache License, Version 2.0 (the
-  "License"); you may not use this file except in compliance
-  with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing,
-  software distributed under the License is distributed on an
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-  KIND, either express or implied.  See the License for the
-  specific language governing permissions and limitations
-  under the License.
- -->
-
-<!--
-   This template file can be used as example for James Server configuration
-   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
--->
-
-<!-- See http://james.apache.org/server/3/config.html for usage -->
-
-<!--
-        This configuration file allows you to customize the way quota are handled on this server.
-        You need to rename it in quota.xml so that it gets interpreted by James on startup.
-
-        The different configuration options are detailed here.
-
-        Read RFC-2087 for full details.
--->
-
-<quota>
-    <!--
-        Quota implementation is based on several components:
-          - QuotaRootResolver: In regard of quota management, mailboxes forms abstract groups called QUOTA ROOT. This
-          component finds to which QUOTA ROOT a mailbox belongs
-          - Current quota manager: Counters for current values: how many messages belongs to this quota root ? Which
-          size ?
-          - Max Quota manager: Sets a maximum value QUOTA ROOT resources can not exceed.
-          - QuotaManager: assemble Current quota manager and Max quota manager.
-          - Listening quota updater: Event system based quota update. On each APPED / COPY /EXPUNGE command, current
-          quotas gets updated.
-    -->
-
-    <quotaRootResolver>
-        <!--
-        Possible value:
-         - default
-        -->
-        <provider>default</provider>
-    </quotaRootResolver>
-    <currentQuotaManager>
-        <!--
-        Possible value for provider:
-         - none: when you use fake as a value for quotaManager's provider
-         - inmemory
-         - cassandra
-         - jpa
-
-        The inmemory implementation:
-         - Does not work in a distributed context
-        Note that quota need to be (lazy) re-calculated after each starts
-
-        Cassandra implementation.
-        Non existing quota are considered as null. No cache. It needs to be always enabled, or you might get some
-        quota synchronisation issues.
-         -->
-        <provider>none</provider>
-    </currentQuotaManager>
-    <maxQuotaManager>
-        <!--
-        This component is exposed to the CLI for quota administration tasks.
-
-        Possible value are:
-         - fake: will always return UNLIMITED. Throws on modifications.
-         - fixed: all QUOTA ROOT get the same upper bound for their quotas.
-         - inmemory: allows you to define QUOTA ROOT specific limits, backed with a fixed policy. It does not
-         work in a distributed context.
-         - cassandra: Same thing than inmemory but backed on cassandra. Works on a distributed context. Note that using
-         the default* configuration options and the CLI to set default options is dangerous as server startup might override
-         CLI values.
-         - jpa: Same thing than inmemory but backed on jpa. Works on a distributed context. Note that using
-         the default* configuration options and the CLI to set default options is dangerous as server startup might override
-         CLI values.
-        -->
-        <provider>fake</provider>
-        <!--
-        Configuration option for setting max policies for MaxQuotaManager ( message count and byte )
-        -->
-        <!--
-        <defaultMaxMessage>100000</defaultMaxMessage>
-        <defaultMaxStorage>5368709120</defaultMaxStorage>
-        -->
-        <!--
-        Configuration option for setting max values per quota root ( message count and byte )
-        -->
-        <!--
-        <maxMessage>
-            <quotaRoot>#private&amp;btellier@apache.org</quotaRoot>
-            <value>200000</value>
-        </maxMessage>
-        <maxStorage>
-            <quotaRoot>#private&amp;btellier@apache.org</quotaRoot>
-            <value>10737418240</value>
-        </maxStorage>
-        -->
-    </maxQuotaManager>
-    <quotaManager>
-        <!--
-        The QuotaManager you use.
-
-        Possible values are:
-         - fake: returns only UNKNOWN/UNLIMITED quotas
-         - store: returns quotas using a CurrentQuotaManager and a MaxQuotaManager
-        -->
-        <provider>fake</provider>
-    </quotaManager>
-    <updates>
-        <!--
-        This defines the way your quotas gets updated.
-        Possible values are:
-         - fake
-         - event
-        -->
-        <provider>fake</provider>
-    </updates>
-</quota>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/quota.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/quota.xml b/server/app/src/main/resources/quota.xml
new file mode 100644
index 0000000..9c8c63e
--- /dev/null
+++ b/server/app/src/main/resources/quota.xml
@@ -0,0 +1,132 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one
+  or more contributor license agreements.  See the NOTICE file
+  distributed with this work for additional information
+  regarding copyright ownership.  The ASF licenses this file
+  to you under the Apache License, Version 2.0 (the
+  "License"); you may not use this file except in compliance
+  with the License.  You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing,
+  software distributed under the License is distributed on an
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+  KIND, either express or implied.  See the License for the
+  specific language governing permissions and limitations
+  under the License.
+ -->
+
+<!--
+   This template file can be used as example for James Server configuration
+   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
+-->
+
+<!-- See http://james.apache.org/server/3/config.html for usage -->
+
+<!--
+        This configuration file allows you to customize the way quota are handled on this server.
+        You need to rename it in quota.xml so that it gets interpreted by James on startup.
+
+        The different configuration options are detailed here.
+
+        Read RFC-2087 for full details.
+-->
+
+<quota>
+    <!--
+        Quota implementation is based on several components:
+          - QuotaRootResolver: In regard of quota management, mailboxes forms abstract groups called QUOTA ROOT. This
+          component finds to which QUOTA ROOT a mailbox belongs
+          - Current quota manager: Counters for current values: how many messages belongs to this quota root ? Which
+          size ?
+          - Max Quota manager: Sets a maximum value QUOTA ROOT resources can not exceed.
+          - QuotaManager: assemble Current quota manager and Max quota manager.
+          - Listening quota updater: Event system based quota update. On each APPED / COPY /EXPUNGE command, current
+          quotas gets updated.
+    -->
+
+    <quotaRootResolver>
+        <!--
+        Possible value:
+         - default
+        -->
+        <provider>default</provider>
+    </quotaRootResolver>
+    <currentQuotaManager>
+        <!--
+        Possible value for provider:
+         - none: when you use fake as a value for quotaManager's provider
+         - inmemory
+         - cassandra
+         - jpa
+
+        The inmemory implementation:
+         - Does not work in a distributed context
+        Note that quota need to be (lazy) re-calculated after each starts
+
+        Cassandra implementation.
+        Non existing quota are considered as null. No cache. It needs to be always enabled, or you might get some
+        quota synchronisation issues.
+         -->
+        <provider>none</provider>
+    </currentQuotaManager>
+    <maxQuotaManager>
+        <!--
+        This component is exposed to the CLI for quota administration tasks.
+
+        Possible value are:
+         - fake: will always return UNLIMITED. Throws on modifications.
+         - fixed: all QUOTA ROOT get the same upper bound for their quotas.
+         - inmemory: allows you to define QUOTA ROOT specific limits, backed with a fixed policy. It does not
+         work in a distributed context.
+         - cassandra: Same thing than inmemory but backed on cassandra. Works on a distributed context. Note that using
+         the default* configuration options and the CLI to set default options is dangerous as server startup might override
+         CLI values.
+         - jpa: Same thing than inmemory but backed on jpa. Works on a distributed context. Note that using
+         the default* configuration options and the CLI to set default options is dangerous as server startup might override
+         CLI values.
+        -->
+        <provider>fake</provider>
+        <!--
+        Configuration option for setting max policies for MaxQuotaManager ( message count and byte )
+        -->
+        <!--
+        <defaultMaxMessage>100000</defaultMaxMessage>
+        <defaultMaxStorage>5368709120</defaultMaxStorage>
+        -->
+        <!--
+        Configuration option for setting max values per quota root ( message count and byte )
+        -->
+        <!--
+        <maxMessage>
+            <quotaRoot>#private&amp;btellier@apache.org</quotaRoot>
+            <value>200000</value>
+        </maxMessage>
+        <maxStorage>
+            <quotaRoot>#private&amp;btellier@apache.org</quotaRoot>
+            <value>10737418240</value>
+        </maxStorage>
+        -->
+    </maxQuotaManager>
+    <quotaManager>
+        <!--
+        The QuotaManager you use.
+
+        Possible values are:
+         - fake: returns only UNKNOWN/UNLIMITED quotas
+         - store: returns quotas using a CurrentQuotaManager and a MaxQuotaManager
+        -->
+        <provider>fake</provider>
+    </quotaManager>
+    <updates>
+        <!--
+        This defines the way your quotas gets updated.
+        Possible values are:
+         - fake
+         - event
+        -->
+        <provider>fake</provider>
+    </updates>
+</quota>
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/recipientrewritetable-template.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/recipientrewritetable-template.xml b/server/app/src/main/resources/recipientrewritetable-template.xml
deleted file mode 100644
index b5399be..0000000
--- a/server/app/src/main/resources/recipientrewritetable-template.xml
+++ /dev/null
@@ -1,57 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one   
-  or more contributor license agreements.  See the NOTICE file 
-  distributed with this work for additional information        
-  regarding copyright ownership.  The ASF licenses this file   
-  to you under the Apache License, Version 2.0 (the            
-  "License"); you may not use this file except in compliance   
-  with the License.  You may obtain a copy of the License at   
-                                                               
-    http://www.apache.org/licenses/LICENSE-2.0                 
-                                                               
-  Unless required by applicable law or agreed to in writing,   
-  software distributed under the License is distributed on an  
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
-  KIND, either express or implied.  See the License for the    
-  specific language governing permissions and limitations      
-  under the License.                                           
- -->
-    
-<!--
-   This template file can be used as example for James Server configuration
-   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
--->
- 
-<!-- See http://james.apache.org/server/3/config.html for usage -->
-
-<!-- If set recursiveMapping false only the first mapping will get processed. -->
-<!-- Default true. -->
-<!-- By setting the mappingLimit you can specify how much mapping will get processed -->
-<!-- before a bounce will send. This avoid infinity loops. Default 10.  -->
-<!--
-<recipientrewritetable  class="org.apache.james.rrt.xml.XMLRecipientRewriteTable">
-   <recursiveMapping>true</recursiveMapping>
-   <mappingLimit>10</mappingLimit>
-    
-   <mapping>some@domain=someuser</mapping>
-</recipientrewritetable>
--->
-
-<!-- Database backed RecipientRewritetable -->
-<!-- -->
-<!-- Use these configurations to store the RecipientRewriteTable in a database. -->
-<!-- 
-<recipientrewritetable class="org.apache.james.rrt.jdbc.JDBCRecipientRewriteTable" destinationURL="db://maildb/RecipientRewriteTable">
-   <recursiveMapping>true</recursiveMapping>
-   <mappingLimit>10</mappingLimit>
-   <sqlFile>file://conf/sqlResources.xml</sqlFile>
-</recipientrewritetable>
--->
-    
-<!-- The default table for storing James' RecipientRewriteTable mappings. -->
-<recipientrewritetable class="org.apache.james.rrt.jpa.JPARecipientRewriteTable">
-   <recursiveMapping>true</recursiveMapping>
-   <mappingLimit>10</mappingLimit>
-</recipientrewritetable>
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/recipientrewritetable.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/recipientrewritetable.xml b/server/app/src/main/resources/recipientrewritetable.xml
new file mode 100644
index 0000000..b5399be
--- /dev/null
+++ b/server/app/src/main/resources/recipientrewritetable.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one   
+  or more contributor license agreements.  See the NOTICE file 
+  distributed with this work for additional information        
+  regarding copyright ownership.  The ASF licenses this file   
+  to you under the Apache License, Version 2.0 (the            
+  "License"); you may not use this file except in compliance   
+  with the License.  You may obtain a copy of the License at   
+                                                               
+    http://www.apache.org/licenses/LICENSE-2.0                 
+                                                               
+  Unless required by applicable law or agreed to in writing,   
+  software distributed under the License is distributed on an  
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
+  KIND, either express or implied.  See the License for the    
+  specific language governing permissions and limitations      
+  under the License.                                           
+ -->
+    
+<!--
+   This template file can be used as example for James Server configuration
+   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
+-->
+ 
+<!-- See http://james.apache.org/server/3/config.html for usage -->
+
+<!-- If set recursiveMapping false only the first mapping will get processed. -->
+<!-- Default true. -->
+<!-- By setting the mappingLimit you can specify how much mapping will get processed -->
+<!-- before a bounce will send. This avoid infinity loops. Default 10.  -->
+<!--
+<recipientrewritetable  class="org.apache.james.rrt.xml.XMLRecipientRewriteTable">
+   <recursiveMapping>true</recursiveMapping>
+   <mappingLimit>10</mappingLimit>
+    
+   <mapping>some@domain=someuser</mapping>
+</recipientrewritetable>
+-->
+
+<!-- Database backed RecipientRewritetable -->
+<!-- -->
+<!-- Use these configurations to store the RecipientRewriteTable in a database. -->
+<!-- 
+<recipientrewritetable class="org.apache.james.rrt.jdbc.JDBCRecipientRewriteTable" destinationURL="db://maildb/RecipientRewriteTable">
+   <recursiveMapping>true</recursiveMapping>
+   <mappingLimit>10</mappingLimit>
+   <sqlFile>file://conf/sqlResources.xml</sqlFile>
+</recipientrewritetable>
+-->
+    
+<!-- The default table for storing James' RecipientRewriteTable mappings. -->
+<recipientrewritetable class="org.apache.james.rrt.jpa.JPARecipientRewriteTable">
+   <recursiveMapping>true</recursiveMapping>
+   <mappingLimit>10</mappingLimit>
+</recipientrewritetable>
+

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/sieverepository-template.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/sieverepository-template.xml b/server/app/src/main/resources/sieverepository-template.xml
deleted file mode 100644
index 58b0537..0000000
--- a/server/app/src/main/resources/sieverepository-template.xml
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one   
-  or more contributor license agreements.  See the NOTICE file 
-  distributed with this work for additional information        
-  regarding copyright ownership.  The ASF licenses this file   
-  to you under the Apache License, Version 2.0 (the            
-  "License"); you may not use this file except in compliance   
-  with the License.  You may obtain a copy of the License at   
-                                                               
-    http://www.apache.org/licenses/LICENSE-2.0                 
-                                                               
-  Unless required by applicable law or agreed to in writing,   
-  software distributed under the License is distributed on an  
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
-  KIND, either express or implied.  See the License for the    
-  specific language governing permissions and limitations      
-  under the License.                                           
- -->
-
-<!-- See http://james.apache.org/server/3/config.html for usage -->
-<sieverepository class="org.apache.james.sieverepository.file.SieveFileRepository">
-</sieverepository>

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/sieverepository.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/sieverepository.xml b/server/app/src/main/resources/sieverepository.xml
new file mode 100644
index 0000000..58b0537
--- /dev/null
+++ b/server/app/src/main/resources/sieverepository.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one   
+  or more contributor license agreements.  See the NOTICE file 
+  distributed with this work for additional information        
+  regarding copyright ownership.  The ASF licenses this file   
+  to you under the Apache License, Version 2.0 (the            
+  "License"); you may not use this file except in compliance   
+  with the License.  You may obtain a copy of the License at   
+                                                               
+    http://www.apache.org/licenses/LICENSE-2.0                 
+                                                               
+  Unless required by applicable law or agreed to in writing,   
+  software distributed under the License is distributed on an  
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
+  KIND, either express or implied.  See the License for the    
+  specific language governing permissions and limitations      
+  under the License.                                           
+ -->
+
+<!-- See http://james.apache.org/server/3/config.html for usage -->
+<sieverepository class="org.apache.james.sieverepository.file.SieveFileRepository">
+</sieverepository>

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/smtpserver-template.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/smtpserver-template.xml b/server/app/src/main/resources/smtpserver-template.xml
deleted file mode 100644
index e01ec51..0000000
--- a/server/app/src/main/resources/smtpserver-template.xml
+++ /dev/null
@@ -1,324 +0,0 @@
-<?xml version="1.0"?>
-<!--
-  Licensed to the Apache Software Foundation (ASF) under one   
-  or more contributor license agreements.  See the NOTICE file 
-  distributed with this work for additional information        
-  regarding copyright ownership.  The ASF licenses this file   
-  to you under the Apache License, Version 2.0 (the            
-  "License"); you may not use this file except in compliance   
-  with the License.  You may obtain a copy of the License at   
-                                                               
-    http://www.apache.org/licenses/LICENSE-2.0                 
-                                                               
-  Unless required by applicable law or agreed to in writing,   
-  software distributed under the License is distributed on an  
-  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
-  KIND, either express or implied.  See the License for the    
-  specific language governing permissions and limitations      
-  under the License.                                           
- -->
- 
-<!--
-   This template file can be used as example for James Server configuration
-   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
--->
- 
-<!-- See http://james.apache.org/server/3/config.html for usage -->
-
-<smtpservers>
-
-   <!-- The SMTP server is enabled by default -->
-   <!-- Disabling blocks will stop them from listening, -->
-   <!-- but does not free as many resources as removing them would -->
-   <smtpserver enabled="true">
-
-     <jmxName>smtpserver</jmxName>
-
-     <!-- Configure this to bind to a specific inetaddress -->
-     <!-- Please NOTE: you should add this IP also to your RemoteAddrNotInNetwork -->
-     <!-- in order to avoid relay check for locallly generated bounces -->
-     <!-- 
-            Port 25 is the well-known/IANA registered port for SMTP. 
-            Port 465 is the well-known/IANA registered port for SMTP over TLS.
-            -->
-     <bind>0.0.0.0:25</bind>
-
-     <connectionBacklog>200</connectionBacklog>
-
-     <!-- Set to true to support STARTTLS or TLS for the Socket.
-           To use this you need to copy sunjce_provider.jar to /path/james/lib directory.
-      -->
-     <tls socketTLS="false" startTLS="false">
-       <!-- To create a new keystore execute:
-        keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore
-         -->
-       <keystore>file://conf/keystore</keystore>
-       <secret>yoursecret</secret>
-       <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
-       <!-- The algorithm is optional and only needs to be specified when using something other
-        than the Sun JCE provider - You could use IbmX509 with IBM Java runtime. -->
-       <algorithm>SunX509</algorithm>
-     </tls>
-      
-        <!-- This is the name used by the server to identify itself in the SMTP -->
-        <!-- protocol.  If autodetect is TRUE, the server will discover its -->
-        <!-- own host name and use that in the protocol.  If discovery fails, -->
-        <!-- the value of 'localhost' is used.  If autodetect is FALSE, James -->
-        <!-- will use the specified value. -->
-        <!--
-        <helloName autodetect="true">myMailServer</helloName>
-         -->
-         
-        <!-- connection timeout in secconds -->
-        <connectiontimeout>360</connectiontimeout>
-
-        <!-- Set the maximum simultaneous incoming connections for this service -->
-        <connectionLimit>0</connectionLimit>
-         
-        <!-- Set the maximum simultaneous incoming connections per IP for this service -->
-        <connectionLimitPerIP>0</connectionLimitPerIP>
-         
-        <!--  Uncomment this if you want to require SMTP authentication.
-
-               supported values:
-               true: required but announced only to not authorizedAddresses
-               false: don't use AUTH
-               announce: like true, but always announce AUTH capability to clients
-
-               The correct behaviour per RFC value would be false or announce
-               but we still support true for backward compatibility and because
-               some webmail client fails when AUTH is announced but no authentication
-               information has been provided
-          -->
-        <!--
-        <authRequired>true</authRequired>
-         -->
-
-<!-- CHECKME! -->
-        <!--  Uncomment this if you want to authorize specific addresses/networks.
-               If you use SMTP AUTH, addresses that match those specified here will
-               be permitted to relay without SMTP AUTH.  If you do not use SMTP
-               AUTH, and you specify addreses here, then only addresses that match
-               those specified will be permitted to relay.
-
-               Addresses may be specified as a an IP address or domain name, with an
-               optional netmask, e.g.,
-
-               127.*, 127.0.0.0/8, 127.0.0.0/255.0.0.0, and localhost/8 are all the same
-
-               See also the RemoteAddrNotInNetwork matcher in the transport processor.
-               You would generally use one OR the other approach.
-         -->
-        <authorizedAddresses>127.0.0.0/8</authorizedAddresses>
-
-        <!--  Uncomment this if you want to verify sender addresses, ensuring that -->
-        <!--  the sender address matches the user who has authenticated. -->
-        <!--  This prevents a user of your mail server from acting as someone else -->
-        <!--  If unspecified, default value is true -->
-        <!--
-        <verifyIdentity>true</verifyIdentity>
-         -->
-
-        <!--  This sets the maximum allowed message size (in kilobytes) for this -->
-        <!--  SMTP service. If unspecified, the value defaults to 0, which means no limit. -->
-        <maxmessagesize>0</maxmessagesize>
-         
-        <!--  This sets wether to enforce the use of HELO/EHLO salutation before a -->
-        <!--  MAIL command is accepted. If unspecified, the value defaults to true -->
-        <!-- 
-        <heloEhloEnforcement>true</heloEhloEnforcement>
-         -->
-         
-        <!-- WARNING: This is Non-RFC compliant (default value: true) -->
-        <!-- See: http://wiki.apache.org/james/StandardsComplianceStatement -->
-        <!-- TODO: CHANGE TO OFFICIAL URL LATER -->
-        <addressBracketsEnforcement>true</addressBracketsEnforcement>
-         
-        <!-- This sets the SMTPGreeting which will be used when connect to the smtpserver -->
-        <!-- If none is specified a default is generated -->
-        <!--
-        <smtpGreeting>JAMES SMTP Server</smtpGreeting>
-         -->
-         
-        <!-- The configuration handler chain -->
-        <handlerchain>
-
-            <!-- This connect handler can be used to enable POP3 before SMTP support -->
-            <!-- Plz note that only the ip get stored to indentify an authenticated client -->
-            <!-- The expireTime is the time after which an ipAddress is handled as expired -->
-            <!--
-            <handler class="org.apache.james.smtpserver.POP3BeforeSMTPHandler">
-                <expireTime>1 hour</expireTime>
-            </handler>
-             -->
-            
-            <!-- This command handler check against RBL-Lists -->
-            <!-- If getDetail is set to true it try to retrieve information from TXT Record -->
-            <!-- why the ip was blocked. Default to false -->           
-            <!-- STOP - before you uncomment out the DNS RBL handler,
-                  please take a moment to review each block list.  We
-                  have included some that various JAMES committers use,
-                  but you must decide which, if any, are appropriate
-                  for your environment.  The mail servers hosting
-                  @apache.org mailing lists, for example, use a
-                  slightly different list than we have included below.
-                  And it is likely that most JAMES committes also have
-                  slightly different sets of lists.  The SpamAssassin
-                  user's list would be one good place to discuss the
-                  measured quality of various block lists.
-
-                  NOTA BENE: the domain names, below, are terminated
-                  with '.' to ensure that they are absolute names in
-                  DNS lookups.  Under some circumstances, names that
-                  are not explicitly absolute could be treated as
-                  relative names, leading to incorrect results.  This
-                  has been observed on *nix and MS-Windows platforms
-                  by users of multiple mail servers, and is not JAMES
-                  specific.  If you are unsure what this means for you,
-                  please speak with your local system/network admins.
-              -->
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.DNSRBLHandler">
-                <getDetail>false</getDetail>
-                <rblservers>
-                    <whitelist>query.bondedsender.org.</whitelist>
-                    <blacklist>sbl-xbl.spamhaus.org.</blacklist>
-                    <blacklist>dul.dnsbl.sorbs.net.</blacklist>
-                    <blacklist>list.dsbl.org.</blacklist>
-                </rblservers>
-            </handler>           
-             -->
-     
-            <!-- This command handler can be used to reject emails with not match the SPF record of the sender domain -->
-            <!-- If checkAuthNetworks is set to true sender domain will be checked also for clients that -->
-            <!-- are allowed to relay. Default is false. --> 
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.SPFHandler">
-                <blockSoftFail>false</blockSoftFail>
-                <blockPermError>true</blockPermError>
-            </handler>
-             -->   
-                 
-            <!-- checks for resolvable HELO/EHLO before accept the HELO/EHLO -->
-            <!-- If checkAuthNetworks is set to true sender domain will be checked also for clients that -->
-            <!-- are allowed to relay. Default is false. -->
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.ResolvableEhloHeloHandler"/>
-             -->
-            
-            <!-- Checks HELO/EHLO is equal the reverse of the connecting client before accept it -->
-            <!-- If checkAuthNetworks is set to true sender domain will be checked also for clients that -->
-            <!-- are allowed to relay. Default is false. -->
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.ReverseEqualsEhloHeloHandler"/>
-             -->
-            
-            <!-- If activated mail is only accepted if the sender contains -->
-            <!-- a resolvable domain having a valid MX Record or A Record associated! -->
-            <!-- If checkAuthNetworks is set to true sender domain will be checked also for clients that -->
-            <!-- are allowed to relay. Default is false. -->
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.ValidSenderDomainHandler"/>
-             -->
-         
-            <!-- With ValidRcptHandler, all email will get rejected which has no valid user -->
-            <!-- You need to add the recipient to the validRecipient list if you want -->
-            <!-- to accept email for a recipient which not exist on the server -->
-            <!-- If you want James to act as a spamtrap or honeypot, you may comment ValidRcptHandler -->
-            <!-- and implement the needed processors in spoolmanager.xml -->
-            <handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/>
-            
-            <!-- If activated you can limit the maximal recipients -->
-            <!-- 
-            <handler class="org.apache.james.smtpserver.fastfail.MaxRcptHandler">
-                <maxRcpt>10</maxRcpt>               
-            </handler>
-             -->
-            
-            <!-- If uncomment this block you can enable greylisting. For more infos-->
-            <!-- how greylisting work see: http://projects.puremagic.com/greylisting/whitepaper.html -->
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.JDBCGreylistHandler">
-                <repositoryPath>db://maildb</repositoryPath>
-                <sqlFile>file://conf/sqlResources.xml</sqlFile>
-                <tempBlockTime>1 hour</tempBlockTime>
-                <unseenLifeTime>4 hours</unseenLifeTime>
-                <autoWhiteListLifeTime>36 days</autoWhiteListLifeTime>
-                <whitelistedNetworks>127.0.0.0/8</whitelistedNetworks>
-            </handler>
-             -->
-            
-            <!-- Tarpitting is a method to insert a small sleep after each rcpt. For more -->
-            <!-- infos read this: http://www.palomine.net/qmail/tarpit.html . -->
-            <!-- Default is set to 0 (disabled). -->
-            <!-- You can also configure the time to sleep in milliseconds -->
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.TarpitHandler">
-                <tarpitRcptCount>5</tarpitRcptCount>
-                <tarpitSleepTime>5000</tarpitSleepTime>
-            </handler>
-             -->
-         
-            <!-- This handler ignore duplicated recipients per session. So the email will get only send on time even -->
-            <!-- if the recipient is specified more then once -->
-            <!--
-            <handler class="org.apache.james.smtpserver.protocol.core.fastfail.SuppressDuplicateRcptHandler"/>
-             -->
-     
-            <!-- Load the core command handlers -->
-            <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/>       
-           
-            <!-- This handler can add a hint to the mail which tells the MailQueue which email should get processed first -->
-            <!-- Normally the MailQueue will just handles Mails in FIFO manner -->
-            <!-- Valid priority values are 1,5,9 where 9 is the highest-->
-            <!-- 
-            <handler class="org.apache.james.smtpserver.MailPriortyHandler">
-                <priorityEntries>
-                    <priorityEntry>
-                        <domain>yourdomain1</domain>
-                        <priority>1</priority>
-                    </priorityEntry>
-                    <priorityEntry>
-                        <domain>yourdomain2</domain>
-                        <priority>9</priority>
-                    </priorityEntry>
-                <priorityEntries>
-            </handler>
-             -->
-             
-            <!-- This MessageHandler could be used to check message against spamd before -->
-            <!-- accept the email. So its possible to reject a message on smtplevel if a -->
-            <!-- configured hits amount is reached. -->
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.SpamAssassinHandler">
-                <spamdHost>127.0.0.1</spamdHost>
-                <spamdPort>783</spamdPort>
-                <spamdRejectionHits>10</spamdRejectionHits>
-            </handler>
-             -->
-     
-            <!-- This MessageHandler could be used to extract domain out of the message and check -->
-            <!-- this domains against uriRbllists. See http://www.surbl.org for more informations. -->
-            <!-- The message get rejected if a domain matched . -->
-            <!--
-            <handler class="org.apache.james.smtpserver.fastfail.URIRBLHandler">
-                <action>reject</action>
-                <getDetail>true</getDetail>
-                <uriRblServers>
-                    <server>multi.surbl.org</server>
-                </uriRblServers>
-            </handler>    
-             -->
-            <!-- 
-            <handler class="org.apache.james.smtpserver.SetMimeHeaderHandler">
-                <headername>SPF-test</headername>
-                <headervalue>passed</headervalue>
-            </handler>
-             -->
-        </handlerchain>           
-  
-   </smtpserver>
-
-</smtpservers>
-
-

http://git-wip-us.apache.org/repos/asf/james-project/blob/ee131ea6/server/app/src/main/resources/smtpserver.xml
----------------------------------------------------------------------
diff --git a/server/app/src/main/resources/smtpserver.xml b/server/app/src/main/resources/smtpserver.xml
new file mode 100644
index 0000000..e01ec51
--- /dev/null
+++ b/server/app/src/main/resources/smtpserver.xml
@@ -0,0 +1,324 @@
+<?xml version="1.0"?>
+<!--
+  Licensed to the Apache Software Foundation (ASF) under one   
+  or more contributor license agreements.  See the NOTICE file 
+  distributed with this work for additional information        
+  regarding copyright ownership.  The ASF licenses this file   
+  to you under the Apache License, Version 2.0 (the            
+  "License"); you may not use this file except in compliance   
+  with the License.  You may obtain a copy of the License at   
+                                                               
+    http://www.apache.org/licenses/LICENSE-2.0                 
+                                                               
+  Unless required by applicable law or agreed to in writing,   
+  software distributed under the License is distributed on an  
+  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       
+  KIND, either express or implied.  See the License for the    
+  specific language governing permissions and limitations      
+  under the License.                                           
+ -->
+ 
+<!--
+   This template file can be used as example for James Server configuration
+   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
+-->
+ 
+<!-- See http://james.apache.org/server/3/config.html for usage -->
+
+<smtpservers>
+
+   <!-- The SMTP server is enabled by default -->
+   <!-- Disabling blocks will stop them from listening, -->
+   <!-- but does not free as many resources as removing them would -->
+   <smtpserver enabled="true">
+
+     <jmxName>smtpserver</jmxName>
+
+     <!-- Configure this to bind to a specific inetaddress -->
+     <!-- Please NOTE: you should add this IP also to your RemoteAddrNotInNetwork -->
+     <!-- in order to avoid relay check for locallly generated bounces -->
+     <!-- 
+            Port 25 is the well-known/IANA registered port for SMTP. 
+            Port 465 is the well-known/IANA registered port for SMTP over TLS.
+            -->
+     <bind>0.0.0.0:25</bind>
+
+     <connectionBacklog>200</connectionBacklog>
+
+     <!-- Set to true to support STARTTLS or TLS for the Socket.
+           To use this you need to copy sunjce_provider.jar to /path/james/lib directory.
+      -->
+     <tls socketTLS="false" startTLS="false">
+       <!-- To create a new keystore execute:
+        keytool -genkey -alias james -keyalg RSA -keystore /path/to/james/conf/keystore
+         -->
+       <keystore>file://conf/keystore</keystore>
+       <secret>yoursecret</secret>
+       <provider>org.bouncycastle.jce.provider.BouncyCastleProvider</provider>
+       <!-- The algorithm is optional and only needs to be specified when using something other
+        than the Sun JCE provider - You could use IbmX509 with IBM Java runtime. -->
+       <algorithm>SunX509</algorithm>
+     </tls>
+      
+        <!-- This is the name used by the server to identify itself in the SMTP -->
+        <!-- protocol.  If autodetect is TRUE, the server will discover its -->
+        <!-- own host name and use that in the protocol.  If discovery fails, -->
+        <!-- the value of 'localhost' is used.  If autodetect is FALSE, James -->
+        <!-- will use the specified value. -->
+        <!--
+        <helloName autodetect="true">myMailServer</helloName>
+         -->
+         
+        <!-- connection timeout in secconds -->
+        <connectiontimeout>360</connectiontimeout>
+
+        <!-- Set the maximum simultaneous incoming connections for this service -->
+        <connectionLimit>0</connectionLimit>
+         
+        <!-- Set the maximum simultaneous incoming connections per IP for this service -->
+        <connectionLimitPerIP>0</connectionLimitPerIP>
+         
+        <!--  Uncomment this if you want to require SMTP authentication.
+
+               supported values:
+               true: required but announced only to not authorizedAddresses
+               false: don't use AUTH
+               announce: like true, but always announce AUTH capability to clients
+
+               The correct behaviour per RFC value would be false or announce
+               but we still support true for backward compatibility and because
+               some webmail client fails when AUTH is announced but no authentication
+               information has been provided
+          -->
+        <!--
+        <authRequired>true</authRequired>
+         -->
+
+<!-- CHECKME! -->
+        <!--  Uncomment this if you want to authorize specific addresses/networks.
+               If you use SMTP AUTH, addresses that match those specified here will
+               be permitted to relay without SMTP AUTH.  If you do not use SMTP
+               AUTH, and you specify addreses here, then only addresses that match
+               those specified will be permitted to relay.
+
+               Addresses may be specified as a an IP address or domain name, with an
+               optional netmask, e.g.,
+
+               127.*, 127.0.0.0/8, 127.0.0.0/255.0.0.0, and localhost/8 are all the same
+
+               See also the RemoteAddrNotInNetwork matcher in the transport processor.
+               You would generally use one OR the other approach.
+         -->
+        <authorizedAddresses>127.0.0.0/8</authorizedAddresses>
+
+        <!--  Uncomment this if you want to verify sender addresses, ensuring that -->
+        <!--  the sender address matches the user who has authenticated. -->
+        <!--  This prevents a user of your mail server from acting as someone else -->
+        <!--  If unspecified, default value is true -->
+        <!--
+        <verifyIdentity>true</verifyIdentity>
+         -->
+
+        <!--  This sets the maximum allowed message size (in kilobytes) for this -->
+        <!--  SMTP service. If unspecified, the value defaults to 0, which means no limit. -->
+        <maxmessagesize>0</maxmessagesize>
+         
+        <!--  This sets wether to enforce the use of HELO/EHLO salutation before a -->
+        <!--  MAIL command is accepted. If unspecified, the value defaults to true -->
+        <!-- 
+        <heloEhloEnforcement>true</heloEhloEnforcement>
+         -->
+         
+        <!-- WARNING: This is Non-RFC compliant (default value: true) -->
+        <!-- See: http://wiki.apache.org/james/StandardsComplianceStatement -->
+        <!-- TODO: CHANGE TO OFFICIAL URL LATER -->
+        <addressBracketsEnforcement>true</addressBracketsEnforcement>
+         
+        <!-- This sets the SMTPGreeting which will be used when connect to the smtpserver -->
+        <!-- If none is specified a default is generated -->
+        <!--
+        <smtpGreeting>JAMES SMTP Server</smtpGreeting>
+         -->
+         
+        <!-- The configuration handler chain -->
+        <handlerchain>
+
+            <!-- This connect handler can be used to enable POP3 before SMTP support -->
+            <!-- Plz note that only the ip get stored to indentify an authenticated client -->
+            <!-- The expireTime is the time after which an ipAddress is handled as expired -->
+            <!--
+            <handler class="org.apache.james.smtpserver.POP3BeforeSMTPHandler">
+                <expireTime>1 hour</expireTime>
+            </handler>
+             -->
+            
+            <!-- This command handler check against RBL-Lists -->
+            <!-- If getDetail is set to true it try to retrieve information from TXT Record -->
+            <!-- why the ip was blocked. Default to false -->           
+            <!-- STOP - before you uncomment out the DNS RBL handler,
+                  please take a moment to review each block list.  We
+                  have included some that various JAMES committers use,
+                  but you must decide which, if any, are appropriate
+                  for your environment.  The mail servers hosting
+                  @apache.org mailing lists, for example, use a
+                  slightly different list than we have included below.
+                  And it is likely that most JAMES committes also have
+                  slightly different sets of lists.  The SpamAssassin
+                  user's list would be one good place to discuss the
+                  measured quality of various block lists.
+
+                  NOTA BENE: the domain names, below, are terminated
+                  with '.' to ensure that they are absolute names in
+                  DNS lookups.  Under some circumstances, names that
+                  are not explicitly absolute could be treated as
+                  relative names, leading to incorrect results.  This
+                  has been observed on *nix and MS-Windows platforms
+                  by users of multiple mail servers, and is not JAMES
+                  specific.  If you are unsure what this means for you,
+                  please speak with your local system/network admins.
+              -->
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.DNSRBLHandler">
+                <getDetail>false</getDetail>
+                <rblservers>
+                    <whitelist>query.bondedsender.org.</whitelist>
+                    <blacklist>sbl-xbl.spamhaus.org.</blacklist>
+                    <blacklist>dul.dnsbl.sorbs.net.</blacklist>
+                    <blacklist>list.dsbl.org.</blacklist>
+                </rblservers>
+            </handler>           
+             -->
+     
+            <!-- This command handler can be used to reject emails with not match the SPF record of the sender domain -->
+            <!-- If checkAuthNetworks is set to true sender domain will be checked also for clients that -->
+            <!-- are allowed to relay. Default is false. --> 
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.SPFHandler">
+                <blockSoftFail>false</blockSoftFail>
+                <blockPermError>true</blockPermError>
+            </handler>
+             -->   
+                 
+            <!-- checks for resolvable HELO/EHLO before accept the HELO/EHLO -->
+            <!-- If checkAuthNetworks is set to true sender domain will be checked also for clients that -->
+            <!-- are allowed to relay. Default is false. -->
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.ResolvableEhloHeloHandler"/>
+             -->
+            
+            <!-- Checks HELO/EHLO is equal the reverse of the connecting client before accept it -->
+            <!-- If checkAuthNetworks is set to true sender domain will be checked also for clients that -->
+            <!-- are allowed to relay. Default is false. -->
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.ReverseEqualsEhloHeloHandler"/>
+             -->
+            
+            <!-- If activated mail is only accepted if the sender contains -->
+            <!-- a resolvable domain having a valid MX Record or A Record associated! -->
+            <!-- If checkAuthNetworks is set to true sender domain will be checked also for clients that -->
+            <!-- are allowed to relay. Default is false. -->
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.ValidSenderDomainHandler"/>
+             -->
+         
+            <!-- With ValidRcptHandler, all email will get rejected which has no valid user -->
+            <!-- You need to add the recipient to the validRecipient list if you want -->
+            <!-- to accept email for a recipient which not exist on the server -->
+            <!-- If you want James to act as a spamtrap or honeypot, you may comment ValidRcptHandler -->
+            <!-- and implement the needed processors in spoolmanager.xml -->
+            <handler class="org.apache.james.smtpserver.fastfail.ValidRcptHandler"/>
+            
+            <!-- If activated you can limit the maximal recipients -->
+            <!-- 
+            <handler class="org.apache.james.smtpserver.fastfail.MaxRcptHandler">
+                <maxRcpt>10</maxRcpt>               
+            </handler>
+             -->
+            
+            <!-- If uncomment this block you can enable greylisting. For more infos-->
+            <!-- how greylisting work see: http://projects.puremagic.com/greylisting/whitepaper.html -->
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.JDBCGreylistHandler">
+                <repositoryPath>db://maildb</repositoryPath>
+                <sqlFile>file://conf/sqlResources.xml</sqlFile>
+                <tempBlockTime>1 hour</tempBlockTime>
+                <unseenLifeTime>4 hours</unseenLifeTime>
+                <autoWhiteListLifeTime>36 days</autoWhiteListLifeTime>
+                <whitelistedNetworks>127.0.0.0/8</whitelistedNetworks>
+            </handler>
+             -->
+            
+            <!-- Tarpitting is a method to insert a small sleep after each rcpt. For more -->
+            <!-- infos read this: http://www.palomine.net/qmail/tarpit.html . -->
+            <!-- Default is set to 0 (disabled). -->
+            <!-- You can also configure the time to sleep in milliseconds -->
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.TarpitHandler">
+                <tarpitRcptCount>5</tarpitRcptCount>
+                <tarpitSleepTime>5000</tarpitSleepTime>
+            </handler>
+             -->
+         
+            <!-- This handler ignore duplicated recipients per session. So the email will get only send on time even -->
+            <!-- if the recipient is specified more then once -->
+            <!--
+            <handler class="org.apache.james.smtpserver.protocol.core.fastfail.SuppressDuplicateRcptHandler"/>
+             -->
+     
+            <!-- Load the core command handlers -->
+            <handler class="org.apache.james.smtpserver.CoreCmdHandlerLoader"/>       
+           
+            <!-- This handler can add a hint to the mail which tells the MailQueue which email should get processed first -->
+            <!-- Normally the MailQueue will just handles Mails in FIFO manner -->
+            <!-- Valid priority values are 1,5,9 where 9 is the highest-->
+            <!-- 
+            <handler class="org.apache.james.smtpserver.MailPriortyHandler">
+                <priorityEntries>
+                    <priorityEntry>
+                        <domain>yourdomain1</domain>
+                        <priority>1</priority>
+                    </priorityEntry>
+                    <priorityEntry>
+                        <domain>yourdomain2</domain>
+                        <priority>9</priority>
+                    </priorityEntry>
+                <priorityEntries>
+            </handler>
+             -->
+             
+            <!-- This MessageHandler could be used to check message against spamd before -->
+            <!-- accept the email. So its possible to reject a message on smtplevel if a -->
+            <!-- configured hits amount is reached. -->
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.SpamAssassinHandler">
+                <spamdHost>127.0.0.1</spamdHost>
+                <spamdPort>783</spamdPort>
+                <spamdRejectionHits>10</spamdRejectionHits>
+            </handler>
+             -->
+     
+            <!-- This MessageHandler could be used to extract domain out of the message and check -->
+            <!-- this domains against uriRbllists. See http://www.surbl.org for more informations. -->
+            <!-- The message get rejected if a domain matched . -->
+            <!--
+            <handler class="org.apache.james.smtpserver.fastfail.URIRBLHandler">
+                <action>reject</action>
+                <getDetail>true</getDetail>
+                <uriRblServers>
+                    <server>multi.surbl.org</server>
+                </uriRblServers>
+            </handler>    
+             -->
+            <!-- 
+            <handler class="org.apache.james.smtpserver.SetMimeHeaderHandler">
+                <headername>SPF-test</headername>
+                <headervalue>passed</headervalue>
+            </handler>
+             -->
+        </handlerchain>           
+  
+   </smtpserver>
+
+</smtpservers>
+
+


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org