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 be...@apache.org on 2007/07/31 23:05:06 UTC

svn commit: r561535 - in /james/server/sandbox/spring-integration: build.xml src/main/config/james-config.xml src/main/config/james-fetchmail.xml src/main/config/james-smtphandlerchain.xml src/main/config/sqlResources.xml

Author: berndf
Date: Tue Jul 31 14:05:06 2007
New Revision: 561535

URL: http://svn.apache.org/viewvc?view=rev&rev=561535
Log:
use more current config files

Modified:
    james/server/sandbox/spring-integration/build.xml
    james/server/sandbox/spring-integration/src/main/config/james-config.xml
    james/server/sandbox/spring-integration/src/main/config/james-fetchmail.xml
    james/server/sandbox/spring-integration/src/main/config/james-smtphandlerchain.xml
    james/server/sandbox/spring-integration/src/main/config/sqlResources.xml

Modified: james/server/sandbox/spring-integration/build.xml
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/build.xml?view=diff&rev=561535&r1=561534&r2=561535
==============================================================================
--- james/server/sandbox/spring-integration/build.xml (original)
+++ james/server/sandbox/spring-integration/build.xml Tue Jul 31 14:05:06 2007
@@ -68,6 +68,7 @@
         <pathelement location="${basedir}/lib/commons-beanutils.jar"/>
         <pathelement location="${basedir}/lib/commons-codec.jar"/>
         <pathelement location="${basedir}/lib/commons-collections.jar"/>
+        <pathelement location="${basedir}/lib/commons-configuration-1.1.jar"/>
         <pathelement location="${basedir}/lib/commons-dbcp-1.2.1.jar"/>
         <pathelement location="${basedir}/lib/commons-digester.jar"/>
         <pathelement location="${basedir}/lib/commons-discovery.jar"/>
@@ -93,7 +94,7 @@
         <pathelement location="${basedir}/lib/cornerstone-threads-api-2.1.jar"/>
         <pathelement location="${basedir}/lib/cornerstone-threads-impl-2.1.jar"/>
         <pathelement location="${basedir}/lib/derby.jar"/>
-        <pathelement location="${basedir}/lib/dnsjava-2.0.1.jar"/>
+        <pathelement location="${basedir}/lib/dnsjava-2.0.3.jar"/>
         <pathelement location="${basedir}/lib/excalibur-cli-1.0.jar"/>
         <pathelement location="${basedir}/lib/excalibur-datasource-2.1.jar"/>
         <pathelement location="${basedir}/lib/excalibur-extension-1.0a.jar"/>
@@ -135,6 +136,7 @@
         <pathelement location="${basedir}/lib/spice-salt-0.8.jar"/>
         <pathelement location="${basedir}/lib/spice-xmlpolicy-1.0.jar"/>
         <pathelement location="${basedir}/lib/spring.jar"/>
+        <pathelement location="${basedir}/lib/torque-3.3-RC1.jar"/>
         <pathelement location="${basedir}/lib/xstream-1.2.jar"/>
     </path>
 

Modified: james/server/sandbox/spring-integration/src/main/config/james-config.xml
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/src/main/config/james-config.xml?view=diff&rev=561535&r1=561534&r2=561535
==============================================================================
--- james/server/sandbox/spring-integration/src/main/config/james-config.xml (original)
+++ james/server/sandbox/spring-integration/src/main/config/james-config.xml Tue Jul 31 14:05:06 2007
@@ -19,10 +19,10 @@
 <!-- In case the defaults do not suit you, the items you are most likely to need to change -->
 <!-- are preceded by a CHECKME! or CONFIRM? comment in the left margin. -->
 
-<!-- For production use you will probably n"src/conf/james-assembly.xml"eed to make more extensive changes, see -->
-<!-- http://james.apache.org/documentation_2_1.html -->
+<!-- For production use you will probably need to make more extensive changes, see -->
+<!-- http://james.apache.org/server/2.3.0/ -->
 
-<!-- $Revision: 419618 $ Committed on $Date: 2006-07-06 18:54:33 +0200 (Thu, 06 Jul 2006) $ by: $Author: bago $ -->
+<!-- $Revision: 481870 $ Committed on $Date: 2006-12-03 19:59:18 +0000 (So, 03 Dez 2006) $ by: $Author: joachim $ -->
 
 <config>
    <James>
@@ -34,38 +34,28 @@
       <!-- will still function, but will generate a warning on startup. -->
       <postmaster>Postmaster@localhost</postmaster>
 
-      <!-- servernames identifies the DNS namespace served by this instance of James. -->
-      <!-- These servernames are used for both matcher/mailet processing and SMTP auth -->
-      <!-- to determine when a mail is intended for local delivery. -->
-      <!-- -->
-      <!-- If autodetect is TRUE, James wil attempt to discover its own host name AND -->
-      <!-- use any explicitly specified servernames. -->
-      <!-- If autodetect is FALSE, James will use only the specified servernames. -->
-      <!-- -->
-      <!-- If autodetectIP is not FALSE, James will also allow add the IP address for each servername. -->
-      <!-- The automatic IP detection is to support RFC 2821, Sec 4.1.3, address literals. -->
-      <!-- -->
-      <!-- To override autodetected server names simply add explicit servername elements. -->
-      <!-- In most cases this will be necessary. -->
-      <!-- By default, the servername 'localhost' is specified. This can be removed, if required. -->
-      <!-- -->
-      <!-- Warning: If you are using fetchmail it is important to include the -->
-      <!-- fetched domains in the server name list to prevent looping.       -->
+      <!-- DEPRECATED: servernames should be configured in the DomainList instance. See the domainlist -->
+      <!-- block configuration -->
+      <!--
       <servernames autodetect="true" autodetectIP="true">
-<!-- CONFIRM? -->
-         <servername>mail.james.local</servername>
+         <servername>localhost</servername>
       </servernames>
-
-      <!-- Set whether user names are case sensitive or case insensitive -->
-      <!-- Set whether to enable local aliases -->
-      <!-- Set whether to enable forwarding -->
+      -->
+      
+      <!-- DEPRECATED: ignoreCase, enableAliases and enableForwarding should -->
+      <!-- be configured in the UsersRepository instance: see the users-store -->
+      <!-- block configuration -->
+      <!--
       <usernames ignoreCase="true" enableAliases="true" enableForwarding="true"/>
+      -->
 
       <!-- The inbox repository is the location for users inboxes -->
       <!-- Default setting: file based repository - enter path ( use  "file:///" for absolute) -->
+      <!--
       <inboxRepository>
          <repository destinationURL="file://var/mail/inboxes/" type="MAIL"/>
       </inboxRepository>
+      -->
 
       <!-- Alternative inbox repository definition for DB use. -->
       <!-- The format for the destinationURL is "db://<data-source>/<table>" -->
@@ -80,11 +70,12 @@
 
       <!-- Alternative inbox repository definition for DB use. -->
       <!-- Stores message body in file system, rest in database -->
-      <!-- 
+      <!-- TEMPORARY DEFAULT: dbfile using Derby -->         
       <inboxRepository>
          <repository destinationURL="dbfile://maildb/inbox/" type="MAIL"/>
       </inboxRepository>
-      -->
+
+      <!-- TEMPORARY DEFAULT: dbfile using Derby  -->
 
       <!-- Alternative inbox repository definition for mbox use. -->
       <!-- This method uses UNIX standard mbox files and is meant for people using mbox files -->
@@ -97,8 +88,113 @@
          <repository destinationURL="mbox:///var/mail/" type="MAIL"/>
       </inboxRepository>
       -->
+      <!-- Experimental IMAP support
+      <inboxRepository>
+         <repository destinationURL="mailboxmanager://#mail/" 
+                     postfix=".INBOX" translateDelimiters="true" type="MAIL" />
+      </inboxRepository>
+       -->
+      <!-- Set to true to support virtualHosting. If virtualHosting support is enabled the server will accept thread every user independ on -->
+      <!-- domain level. -->
+      <enableVirtualHosting> false </enableVirtualHosting>     
+      
+      <!-- Set the default domain which will be used if an email is send to a recipient without a domain part -->
+      <!-- If not defaultdomain is set the first domain of the DomainList get used -->
+      <defaultDomain> localhost </defaultDomain>
+      
    </James>
 
+    <!--
+        Don't forget to activate mailboxmanager inboxRepository in the 
+        James block, if you want to receive mail in your IMAP mailbox
+    --> 
+    <mailboxmanager>
+        <namespaces>
+            <usernamespace name="#mail" delimiter="."/>
+        </namespaces>
+        <factory
+            class="org.apache.james.mailboxmanager.impl.VirtualMailboxManagerFactory">
+            <mounts>
+                <mount>
+                    <point point="#mail"/>
+                    <target class="org.apache.james.mailboxmanager.torque.TorqueMailboxManagerFactory">
+                        <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>
+                    </target>
+                </mount>
+                <!--  You could configure your local-address-error processor with 
+                      the repositoryPath mailboxmanager://#system.address-error/ 
+                 -->
+                <mount>
+                    <point point="#system"/>
+                    <target
+                        class="org.apache.james.mailboxmanager.mailstore.MailStoreMailboxManagerFactory">
+                        <repository destinationURL="file://var/mail/system/"
+                            type="MAIL"/>
+                    </target>
+                </mount>                
+                <!-- Mail to user1 goes to a file repository
+                <mount>
+                    <point point="#mail.user1"/>
+                    <target
+                        class="org.apache.james.mailboxmanager.mailstore.MailStoreMailboxManagerFactory">
+                        <repository destinationURL="file://var/mail/inboxes/user1"
+                            type="MAIL"/>
+                    </target>
+                </mount>        
+                -->
+            </mounts>
+        </factory>
+    </mailboxmanager>
+    
+  <!-- Experimental IMAP support 
+      
+        Don't forget to activate mailboxmanager inboxRepository in the 
+        James block, if you want to receive mail in your IMAP mailbox
+    -->     
+   <imap-connections>
+      <!-- RFC 3501 requires a minimum timeout of 30 minutes -->
+      <idle-timeout>1800000</idle-timeout>
+      <max-connections>100</max-connections>
+      <!--
+      <max-connections-per-ip>0</max-connections-per-ip>
+      -->
+   </imap-connections>      
+    
+   <imapserver enabled="true">
+      <!-- port 993 is the well-known/IANA registered port for IMAPs ie over SSL/TLS -->
+      <!-- port 143 is the well-known/IANA registered port for Standard IMAP4 -->
+      <port>10143</port>
+      <handler>
+       <!-- RFC 3501 requires a minimum timeout of 30 minutes -->
+       <connectiontimeout>1800000</connectiontimeout>         
+       <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    -->
@@ -347,7 +443,7 @@
          -->
 
          <!-- People on this list agree to pay a penalty if they send spam -->
-         <mailet match="InSpammerBlacklist=query.bondedsender.org"
+         <mailet match="InSpammerBlacklist=query.bondedsender.org."
                  class="ToProcessor">
            <processor> transport </processor>
          </mailet>
@@ -373,13 +469,13 @@
          <!-- This set of matchers/mailets redirect all emails from known -->
          <!-- black holes, open relays, and spam servers to the spam processor -->
          <!-- For this set to function properly, the spam processor must be configured. -->
-         <mailet match="InSpammerBlacklist=dnsbl.njabl.org"
+         <mailet match="InSpammerBlacklist=dnsbl.njabl.org."
                  class="ToProcessor">
            <processor> spam </processor>
            <notice>550 Requested action not taken: rejected - see http://njabl.org/ </notice>
          </mailet>
 
-         <mailet match="InSpammerBlacklist=relays.ordb.org"
+         <mailet match="InSpammerBlacklist=relays.ordb.org."
                  class="ToProcessor">
            <processor> spam </processor>
            <notice>550 Requested action not taken: rejected - see http://www.ordb.org/ </notice>
@@ -560,12 +656,16 @@
             <delayTime>  3 hours </delayTime>
             <delayTime>  6 hours </delayTime>
             <maxRetries> 25 </maxRetries>
+            
+            <!-- The max reties which will used if no A or MX record for the domain was found. -->
+            <!-- If 0 it will fail on first time -->
+            <maxDnsProblemRetries> 0 </maxDnsProblemRetries>
 
             <!-- The number of threads that should be trying to deliver outgoing messages -->
             <deliveryThreads> 1 </deliveryThreads>
 
             <!-- If false the message will not be sent to given server if any recipients fail -->
-            <sendpartial>false</sendpartial>
+            <sendpartial>true</sendpartial>
             
             <!-- By default we send bounces to the "bounce" processor -->
             <!-- By removing this configuration James will fallback to hardcoded bounce -->
@@ -586,8 +686,10 @@
             <!-- multiple gateway elements, each of which may also have a port -->
             <!-- e.g., mygateway:2525 -->
             <!-- the gatewayPort element is used as a default -->
-            <gateway> 127.0.0.1 </gateway>
-            <gatewayPort>2525</gatewayPort>
+            <!--
+            <gateway> otherserver.mydomain.com </gateway>
+            <gatewayPort>25</gatewayPort>
+            -->
          </mailet>
 
       </processor>
@@ -749,24 +851,61 @@
       <servers>
          <!--Enter ip address of your DNS server, one IP address per server -->
          <!-- element. -->
-         <!--
-          <server>127.0.0.1</server>
-         -->
+          <server>169.254.11.1</server>
       </servers>
       <!-- Change autodiscover to false if you would like to turn off autodiscovery -->
       <!-- and set the DNS servers manually in the <servers> section -->
-      <autodiscover>true</autodiscover>
+      <autodiscover>false</autodiscover>
       <authoritative>false</authoritative>
 
       <!-- Maximum number of entries to maintain in the DNS cache -->
-      <maxcachesize>50000</maxcachesize>
+      <maxcachesize>0</maxcachesize>
+      
+      <!-- Uncomment this if you want James to try a single server for each -->
+      <!-- multihomed mx host. -->
+      <!--
+      <singleIPperMX> true </singleIPperMX>
+      -->
    </dnsserver>
+   
+   <domainlist>
+      <!-- Domainnames identifies the DNS namespace served by this instance of James. -->
+      <!-- These domainnames are used for both matcher/mailet processing and SMTP auth -->
+      <!-- to determine when a mail is intended for local delivery. -->
+      <!-- -->
+      <!-- If autodetect is TRUE, James wil attempt to discover its own host name AND -->
+      <!-- use any explicitly specified servernames. -->
+      <!-- If autodetect is FALSE, James will use only the specified domainnames. -->
+      <!-- -->
+      <!-- If autodetectIP is not FALSE, James will also allow add the IP address for each servername. -->
+      <!-- The automatic IP detection is to support RFC 2821, Sec 4.1.3, address literals. -->
+      <!-- -->
+      <!-- To override autodetected domainames names simply add explicit domainname elements. -->
+      <!-- In most cases this will be necessary. -->
+      <!-- By default, the domainname 'localhost' is specified. This can be removed, if required. -->
+      <!-- -->
+      <!-- Warning: If you are using fetchmail it is important to include the -->
+      <!-- fetched domains in the server name list to prevent looping.       -->
+      <domainnames>
+         <domainname>127.0.0.1</domainname>
+      </domainnames>
+      <autodetect>true</autodetect>
+      <autodetectIP>true</autodetectIP>
+   </domainlist>
+   
+      
+   <!-- Uncommment this block to enable the BayesianAnalyserManagement. -->
+   <!-- This is needed by the RemoteManager to enable the BayesianAnaylyzerManagement commands --> 
+   <bayesiananalyzermanagement> 
+      <repositoryPath> db://maildb </repositoryPath>
+   </bayesiananalyzermanagement>  
+    
 
    <!-- The RemoteManager server is enabled by default -->
    <!-- Disabling blocks will stop them from listening, -->
    <!-- but does not free as many resources as removing them would -->
    <remotemanager enabled="true">
-      <port>4565</port>
+      <port>4555</port>
       <!--  Uncomment this if you want to bind to a specific inetaddress -->
       <!--
       <bind> </bind>
@@ -781,7 +920,7 @@
          <!-- 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>
+         <helloName autodetect="false">myMailServer</helloName>
          <administrator_accounts>
 <!-- CHECKME! -->
             <!-- Change the default login/password. -->
@@ -794,7 +933,7 @@
          -->
       </handler>
    </remotemanager>
-
+      
     <!-- 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 -->
@@ -818,7 +957,7 @@
          <!-- 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>
+         <helloName autodetect="false">myMailServer</helloName>
          <connectiontimeout>120000</connectiontimeout>
       </handler>
    </pop3server>
@@ -847,7 +986,7 @@
          <!-- 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>
+         <helloName autodetect="false">myMailServer</helloName>
          <connectiontimeout>360000</connectiontimeout>
 
          <!--  Uncomment this if you want to require SMTP authentication.
@@ -899,14 +1038,20 @@
          <!-- 
          <heloEhloEnforcement>true</heloEhloEnforcement>
          -->
-
-         <!-- SMTP Handler Chain customization -->
-         <!-- Uncomment this and edit james-smtphandlerchain.xml configuration file to -->
-         <!-- enable the experimental fastfail features. Look at the james-smtphandlerchain.xml -->
-         <!-- for further informations -->
-         <!-- 
-         &smtphandlerchainConfig;
+         
+         <!-- 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 -->
+         &smtphandlerchainConfig;
             
       </handler>
    </smtpserver>
@@ -939,7 +1084,7 @@
          <!-- 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>
+         <helloName autodetect="false">myMailServer</helloName>
          <connectiontimeout>120000</connectiontimeout>
           <!-- Set the authRequired value to true to enable authenticated NNTP -->
          <authRequired>false</authRequired>
@@ -981,7 +1126,9 @@
    <!-- Spool repository configuration -->
    <!-- The spool repository is the location where incoming mails are temporarily stored -->
    <!-- before being processed. -->
+   <!--
    <spoolrepository destinationURL="file://var/mail/spool/" type="SPOOL"/>
+   -->
  
    <!-- Alternative spool repository definition for JDBC use -->
    <!--
@@ -990,14 +1137,24 @@
  
    <!-- Alternative spool repository definition for JDBC use -->
    <!-- Stores message body in file system, rest in database -->
-   <!--
+   <!-- TEMPORARY DEFAULT: dbfile using Derby  -->
    <spoolrepository destinationURL="dbfile://maildb/spool/spool" type="SPOOL"/>
-   -->
+   <!-- TEMPORARY DEFAULT: dbfile using Derby  -->
 
    <!-- 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">
@@ -1007,6 +1164,8 @@
             <types>
                <type>MAIL</type>
             </types>
+            <!-- Set if the messages should be listed sorted. False by default -->
+            <config FIFO="false"/> 
          </repository>
          <repository class="org.apache.james.mailrepository.AvalonSpoolRepository">
             <protocols>
@@ -1031,7 +1190,7 @@
                <!-- Set the size threshold for in memory handling of storing operations -->
                <!-- Default is currently 409600000 due to a bug with mysql and binary stream -->
                <!-- currently under investigation. Please change this only if you know what -->
-               <!-- you do, this is EXPERIMENTAL -->
+               <!-- you do. -->
                <!--
                <inMemorySizeLimit>4096</inMemorySizeLimit>
                 -->
@@ -1048,16 +1207,151 @@
             <config>
                <sqlFile>file://conf/sqlResources.xml</sqlFile>
                <maxcache>1000</maxcache>
+            </config>
+         </repository>
+
+         <!-- These repositories store message delivery and headers in the DB, and the body to the filesystem -->
+         <repository class="org.apache.james.mailrepository.JDBCMailRepository">
+            <protocols>
+               <protocol>dbfile</protocol>
+            </protocols>
+            <types>
+               <type>MAIL</type>
+            </types>
+            <config>
+               <sqlFile>file://conf/sqlResources.xml</sqlFile>
+               <filestore>file://var/dbmail</filestore>
+            </config>
+         </repository>
+
+         <repository class="org.apache.james.mailrepository.JDBCSpoolRepository">
+            <protocols>
+               <protocol>dbfile</protocol>
+            </protocols>
+            <types>
+               <type>SPOOL</type>
+            </types>
+            <config>
+               <sqlFile>file://conf/sqlResources.xml</sqlFile>
+               <filestore>file://var/dbmail</filestore>
+               <maxcache>1000</maxcache>
+            </config>
+         </repository>
+
+         <!-- The mbox repository is designed for MAIL only; SPOOL performance would be less than ideal-->
+         <repository class="org.apache.james.mailrepository.MBoxMailRepository">
+            <protocols>
+               <protocol>mbox</protocol>
+            </protocols>
+            <types>
+               <type>MAIL</type>
+            </types>
+            <!-- Set if the messages should be listed sorted. False by default -->
+            <config FIFO="false"/> 
+         </repository>
+
+         <repository class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository">
+            <protocols>
+               <protocol>file</protocol>
+            </protocols>
+            <types>
+               <type>OBJECT</type>
+            </types>
+            <models>
+               <model>SYNCHRONOUS</model>
+               <model>ASYNCHRONOUS</model>
+               <model>CACHE</model>
+            </models>
+         </repository>
+
+         <repository class="org.apache.james.mailrepository.filepair.File_Persistent_Stream_Repository">
+            <protocols>
+               <protocol>file</protocol>
+            </protocols>
+            <types>
+               <type>STREAM</type>
+            </types>
+            <models>
+               <model>SYNCHRONOUS</model>
+               <model>ASYNCHRONOUS</model>
+               <model>CACHE</model>
+            </models>
+         </repository>
+      </repositories>
+      
+   </mailstore>
+
+
+   <!-- The Mailstore block used by mailboxmanager -->  
+    
+   <mailboxmanager-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">
+            <protocols>
+               <protocol>file</protocol>
+            </protocols>
+            <types>
+               <type>MAIL</type>
+            </types>
+            <!-- Set if the messages should be listed sorted. False by default -->
+            <config FIFO="false"/> 
+         </repository>
+         <repository class="org.apache.james.mailrepository.AvalonSpoolRepository">
+            <protocols>
+               <protocol>file</protocol>
+            </protocols>
+            <types>
+               <type>SPOOL</type>
+            </types>
+         </repository>
+
+         <!-- JDBC based repositories.  These repositories store all message data -->
+         <!-- in the database. -->
+         <repository class="org.apache.james.mailrepository.JDBCMailRepository">
+            <protocols>
+               <protocol>db</protocol>
+            </protocols>
+            <types>
+               <type>MAIL</type>
+            </types>
+            <config>
+               <sqlFile>file://conf/sqlResources.xml</sqlFile>
                <!-- Set the size threshold for in memory handling of storing operations -->
                <!-- Default is currently 409600000 due to a bug with mysql and binary stream -->
                <!-- currently under investigation. Please change this only if you know what -->
-               <!-- you do, this is EXPERIMENTAL -->
+               <!-- you do. -->
                <!--
                <inMemorySizeLimit>4096</inMemorySizeLimit>
                 -->
             </config>
          </repository>
 
+         <repository class="org.apache.james.mailrepository.JDBCSpoolRepository">
+            <protocols>
+               <protocol>db</protocol>
+            </protocols>
+            <types>
+               <type>SPOOL</type>
+            </types>
+            <config>
+               <sqlFile>file://conf/sqlResources.xml</sqlFile>
+               <maxcache>1000</maxcache>
+            </config>
+         </repository>
+
          <!-- These repositories store message delivery and headers in the DB, and the body to the filesystem -->
          <repository class="org.apache.james.mailrepository.JDBCMailRepository">
             <protocols>
@@ -1094,6 +1388,8 @@
             <types>
                <type>MAIL</type>
             </types>
+            <!-- Set if the messages should be listed sorted. False by default -->
+            <config FIFO="false"/> 
          </repository>
 
          <repository class="org.apache.james.mailrepository.filepair.File_Persistent_Object_Repository">
@@ -1124,10 +1420,10 @@
             </models>
          </repository>
       </repositories>
+      
+   </mailboxmanager-mailstore>
 
-   </mailstore>
-
-
+    
    <!-- The User Storage block -->
    <users-store>
       <!-- Configure User Repositories here. -->
@@ -1148,10 +1444,14 @@
 
       <!-- Default: File-based user repositories  Use these configurations to store user info in the filesystem  -->
       <!-- The LocalUsers repository, for storing James' User info. -->
+      <!--
       <repository name="LocalUsers" class="org.apache.james.userrepository.UsersFileRepository">
          <destination URL="file://var/users/"/>
+         <ignoreCase>true</ignoreCase>
+         <enableAliases>true</enableAliases>
+         <enableForwarding>true</enableForwarding>
       </repository>
-
+      -->
 
       <!-- Database backed user repositories -->
       <!-- -->
@@ -1160,11 +1460,17 @@
       <!--       in the <database-connections> configuration section. -->
 
       <!-- The LocalUsers repository, for storing James' User info. -->
-      <!-- 
+      <!-- TEMPORARY DEFAULT: db using Derby  -->
       <repository name="LocalUsers" class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">
          <sqlFile>file://conf/sqlResources.xml</sqlFile>
+         <!-- Set whether user names are case sensitive or case insensitive -->
+         <ignoreCase>true</ignoreCase>
+         <!-- Set whether to enable local aliases -->
+         <enableAliases>true</enableAliases>
+         <!-- Set whether to enable forwarding -->
+         <enableForwarding>true</enableForwarding>
       </repository>
-      -->
+      <!-- TEMPORARY DEFAULT: db using Derby  -->
 
       <!-- This is an example configuration including configuration for a list server. -->
       <!-- CHECKME: before uncommenting this, edit the configuration file's contents   -->
@@ -1173,6 +1479,29 @@
       -->
 
    </users-store>
+   
+   <!-- The VirtualUserTable Store block -->
+   <virtualusertable-store>
+   
+      <!-- The DefaultVirtualUserTable  for storing James' VirtualUserTable mappings. -->
+      <!--
+      <table name="DefaultVirtualUserTable" class="org.apache.james.vut.XMLVirtualUserTable">
+         <mapping> some@domain=someuser </mapping>
+      </table>
+      -->
+
+      <!-- Database backed VirtualUsertable -->
+      <!-- -->
+      <!-- Use these configurations to store the VirtualUserTable in a database. -->
+      <!-- Note: The <data-source> element must refer to a connection configured -->
+      <!--       in the <database-connections> configuration section. -->
+
+      <!-- The DefaultVirtualUserTable  for storing James' VirtualUserTable mappings. -->
+      <!-- TEMPORARY DEFAULT: db using Derby  -->
+      <table name="DefaultVirtualUserTable" class="org.apache.james.vut.JDBCVirtualUserTable" destinationURL="db://maildb/VirtualUserTable">
+         <sqlFile>file://conf/sqlResources.xml</sqlFile>
+      </table>
+   </virtualusertable-store>
 
    <!-- The database-connections block -->
    <database-connections>
@@ -1193,19 +1522,19 @@
                  This, alone, may be reason for you to give it a try.
       -->
       
-      <!-- Default James distribution includes Apache Derby database, -->
-      <!-- which is easy to embed - but we support all the major SQL   -->
-      <!-- databases - just reconfigure your JDBC configuration -->
-      <!--
+      <!-- Out of the box default configuration uses Apache Derby as the default -->
+      <!-- database, which is easy to embed - but we support all the major SQL   -->
+      <!-- databases - just reconfigure your JDBC configuration                  -->
+      <!-- -->
       <data-source name="maildb" class="org.apache.james.util.dbcp.JdbcDataSource">
          <driver>org.apache.derby.jdbc.EmbeddedDriver</driver>
-         <dburl>jdbc:derby:../apps/james/var/derbydb;create=true</dburl>
+         <dburl>jdbc:derby:derbydb;create=true</dburl>
          <user></user>
          <password></password>
          <poolPreparedStatements>true</poolPreparedStatements>
          <max>20</max>
       </data-source>
-      -->
+      <!-- -->
 
       <!-- JDBC driver .jar libraries for other RDBMS can be placed in ~james/lib/  -->
 
@@ -1288,9 +1617,17 @@
    <!-- Resource limitations imposed by other components (i.e. max # of threads) may -->
    <!-- serve to limit the number of open connections. -->
    <!-- -->
+   <!-- The max-connections-per-ip parameter specifies the default maximum number of client -->
+   <!-- connections per ip that this connection manager will allow per managed server socket. -->
+   <!-- This value can be overridden by each individual service. -->
+   <!-- If no value is specified, the value defaults to 0 ( disabled) . -->
+   <!-- -->
    <connections>
       <idle-timeout>300000</idle-timeout>
       <max-connections>30</max-connections>
+      <!--
+      <max-connections-per-ip>0</max-connections-per-ip>
+      -->
    </connections>
 
    <!-- The Socket Manager block -->
@@ -1368,4 +1705,5 @@
          <min-spare-threads>20</min-spare-threads>
       </thread-group>
    </thread-manager>
+
 </config>

Modified: james/server/sandbox/spring-integration/src/main/config/james-fetchmail.xml
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/src/main/config/james-fetchmail.xml?view=diff&rev=561535&r1=561534&r2=561535
==============================================================================
--- james/server/sandbox/spring-integration/src/main/config/james-fetchmail.xml (original)
+++ james/server/sandbox/spring-integration/src/main/config/james-fetchmail.xml Tue Jul 31 14:05:06 2007
@@ -3,7 +3,7 @@
    <!-- fetched domains in the <servernames> section of the <James> block      -->
    <!-- above. This block is disabled by default.                              -->
       
-   <!-- See http://james.apache.org/fetchmail_configuration_2_2.html for detailed -->
+   <!-- See http://james.apache.org/server/2.3.0/fetchmail_configuration.html for detailed -->
    <!-- configuration instructions and examples.                                  -->   
 
    <!-- I M P O R T A N T -->
@@ -46,7 +46,7 @@
             <!-- When a message server supports BOTH delivery for a single user to a specific INBOX and access to all mail -->
             <!-- for a domain through a single INBOX, you can use <alllocal> and <account> together to guarantee that all -->
             <!-- local mail gets delivered to the correct user and all unwanted mail is deleted from the message -->
-            <!-- server. See http://james.apache.org/fetchmail_configuration_2_2.html for details. -->
+            <!-- server. See http://james.apache.org/server/2.3.0/fetchmail_configuration.html for details. -->
             
             <!-- Limitations and Future Directions -->
             <!-- 1) <alllocal> requires the password for all accounts for a domain on the message server be the same. True -->

Modified: james/server/sandbox/spring-integration/src/main/config/james-smtphandlerchain.xml
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/src/main/config/james-smtphandlerchain.xml?view=diff&rev=561535&r1=561534&r2=561535
==============================================================================
--- james/server/sandbox/spring-integration/src/main/config/james-smtphandlerchain.xml (original)
+++ james/server/sandbox/spring-integration/src/main/config/james-smtphandlerchain.xml Tue Jul 31 14:05:06 2007
@@ -41,6 +41,7 @@
      -->
      <!--
      <handler class="org.apache.james.smtpserver.core.filter.fastfail.DNSRBLHandler" command="RCPT">
+         <action> reject </action>
          <getDetail> false </getDetail>
          <rblservers>
              <whitelist> query.bondedsender.org. </whitelist>
@@ -58,6 +59,7 @@
      <!-- are allowed to relay. Default is false. -->  
      <!--
      <handler class="org.apache.james.smtpserver.core.filter.fastfail.SPFHandler" command="MAIL,RCPT">
+         <action> reject </action>
          <checkAuthNetworks> false </checkAuthNetworks>
          <blockSoftFail> false </blockSoftFail>
          <blockPermError> true </blockPermError>
@@ -72,6 +74,7 @@
      <!-- are allowed to relay. Default is false. -->
      <!--
      <handler class="org.apache.james.smtpserver.core.filter.fastfail.ResolvableEhloHeloHandler" command="EHLO,HELO,RCPT">
+         <action> reject </action>
          <checkAuthNetworks> false </checkAuthNetworks>
          <checkAuthUsers> false </checkAuthUsers>
      </handler>  
@@ -82,7 +85,9 @@
      <!-- are allowed to relay. Default is false. -->
      <!--
      <handler class="org.apache.james.smtpserver.core.filter.fastfail.ReverseEqualsEhloHeloHandler" command="EHLO,HELO">
+         <action> reject </action>
          <checkAuthClients> false </checkAuthClients>
+         <checkAuthUsers> false </checkAuthUsers>
      </handler>
      -->
             
@@ -92,34 +97,12 @@
      <!-- are allowed to relay. Default is false. -->
      <!--
      <handler class="org.apache.james.smtpserver.core.filter.fastfail.ValidSenderDomainHandler" command="MAIL">
+         <action> reject </action>
          <checkAuthClients> false </checkAuthClients>
+         <checkAuthUsers> false </checkAuthUsers>
      </handler>
      -->
      
-     <!-- IF you want to use the ValidRcptHandler you can set virtual user which will accepted here.-->
-     <!--
-     <handler class="org.apache.james.smtpserver.core.filter.fastfail.XMLVirtualUserTableHandler" command="RCPT">
-         <!- 1:1 mapping ->
-         <mapping>morgoth@middle-earth=sauron@mordor</mapping>
-         <!- 1:n mapping ->
-         <mapping>istari@middle-earth=saruman@isengard;radigast;gandalf</mapping>
-         <!- regex based mapping ->
-         <mapping>*@osgilliath=regex:(.*)@osgilliath:${1}@minas-tirith</mapping>
-         <!- both standard and regex mapping ->
-         <mapping>ring@*=onering@mordor;regex:ring@(.*):ring@${1}</mapping>
-         <!- conditional regex mapping example ->
-         <mapping>*@listserver=regex:(.*)-on@listserver:${1}-subscribe@listserver;
-                               regex:(.*)-off@listserver:${1}-unsubscribe@listserver
-         </mapping>
-     </handler>
-     -->
-     
-     <!-- IF you want to use the ValidRcptHandler you can set virtual user which will accepted here.-->
-     <!--
-     <handler class="org.apache.james.smtpserver.core.filter.fastfail.JDBCVirtualUserTableHandler" command="RCPT">
-         <table> db://maildb/VirtualUserTable </table>
-     </handler>
-     -->
          
      <!-- If activated all email will get rejected which has no valid user -->
      <!-- You need to add the recipient to the validRecipient list if you want -->
@@ -135,6 +118,7 @@
      <!-- If activated you can limit the maximal recipients -->
      <!-- 
      <handler class="org.apache.james.smtpserver.core.filter.fastfail.MaxRcptHandler" command="RCPT">
+         <action> reject </action>
          <maxRcpt> 10 </maxRcpt>                
      </handler>
      -->
@@ -191,11 +175,12 @@
      <!-- The message get rejected if a domain matched . -->
      <!--
      <handler class="org.apache.james.smtpserver.core.filter.fastfail.URIRBLHandler">
+         <action> reject </action>
+         <getDetail> true </getDetail>
+         <checkAuthNetworks> false </checkAuthNetworks>
          <uriRblServers> 
              <server> multi.surbl.org</server>
          </uriRblServers>
-         <getDetail> true </getDetail>
-         <checkAuthNetworks> false </checkAuthNetworks>
      </handler>
      -->
      

Modified: james/server/sandbox/spring-integration/src/main/config/sqlResources.xml
URL: http://svn.apache.org/viewvc/james/server/sandbox/spring-integration/src/main/config/sqlResources.xml?view=diff&rev=561535&r1=561534&r2=561535
==============================================================================
--- james/server/sandbox/spring-integration/src/main/config/sqlResources.xml (original)
+++ james/server/sandbox/spring-integration/src/main/config/sqlResources.xml Tue Jul 31 14:05:06 2007
@@ -984,7 +984,177 @@
             PRIMARY KEY (ipaddress,sender,recip)
         )
     </sql>
+</sqlDefs>
 
+<!-- SQL statements for the JdbcVirtualUserTable  -->
+<sqlDefs name="org.apache.james.vut.JDBCVirtualUserTable">
+
+    <!-- Statements used to check whether a particular message exists in this repository. -->
+    <sql name="selectMappings" db="derby">select VirtualUserTable.target_address,(VirtualUserTable."user" || '@' ||VirtualUserTable.domain) from VirtualUserTable, VirtualUserTable as VUTDomains where ((VirtualUserTable."user") like ? or (VirtualUserTable."user") like '%') and (VirtualUserTable.domain like ? or (VirtualUserTable.domain like '%' and VUTDomains.domain like ?)) order by 2 desc</sql>
+    <sql name="selectMappings">select VirtualUserTable.target_address from VirtualUserTable, VirtualUserTable as VUTDomains where (VirtualUserTable.user like ? or VirtualUserTable.user like '%') and (VirtualUserTable.domain like ? or (VirtualUserTable.domain like '%' and VUTDomains.domain like ?)) order by concat(VirtualUserTable.user,'@',VirtualUserTable.domain) desc limit 1" </sql>
+    
+    <sql name="selectUserDomainMapping" db="derby">select VirtualUserTable.target_address from VirtualUserTable where VirtualUserTable."user" = ? and VirtualUserTable.domain = ? </sql>
+    <sql name="selectUserDomainMapping">select VirtualUserTable.target_address from VirtualUserTable where VirtualUserTable.user = ? and VirtualUserTable.domain = ? </sql>
+   
+    <sql name="deleteMapping">delete from VirtualUserTable where VirtualUserTable."user" = ? and VirtualUserTable.domain = ? and VirtualUserTable.target_address = ?</sql>
+   
+    <sql name="updateMapping">update VirtualUserTable set VirtualUserTable.target_address = ? where VirtualUserTable."user" = ? and VirtualUserTable.domain = ? </sql>
+   
+    <sql name="addMapping">insert into VirtualUserTable values(?,?,?) </sql>
+    
+    <sql name="selectAllMappings">select * from VirtualUserTable </sql>
+    
+    <sql name="selectDomains">select distinct domain from VirtualUserTable</sql>
+    
+    <sql name="selectDomain">select distinct domain from VirtualUserTable where domain = ? </sql>
+    
+    <!-- Statements used to create the table associated with this class. -->
+    <sql name="createTable" db="mysql">
+        CREATE TABLE VirtualUserTable (
+            user varchar(64) NOT NULL default '',
+            domain varchar(255) NOT NULL default '',
+            target_address varchar(255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    <!-- TEMPORARY DISABLED -->
+    <!--
+    <sql name="createTable" db="hypersonic">
+        CREATE CACHED TABLE VirtualUserTable (
+            user varchar(64) NOT NULL default '',
+            domain varchar(255) NOT NULL default '',
+            target_address varchar(255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    <sql name="createTable" db="hsqldb">
+        CREATE CACHED TABLE VirtualUserTable (
+            user varchar(64) NOT NULL default '',
+            domain varchar(255) NOT NULL default '',
+            target_address varchar(255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    <sql name="createTable" db="mssql">
+        CREATE TABLE [VirtualUserTable] (
+            [user] [varchar] (64) NOT NULL default '',
+            [domain] [varchar] (255) NOT NULL default '',
+            [target_address] [varchar] (255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    <sql name="createTable" db="oracle">
+        CREATE TABLE VirtualUserTable (
+            user varchar2(64) NOT NULL default '',
+            domain varchar2(255) NOT NULL default '',
+            target_address varchar2(255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    <sql name="createTable" db="postgresql">
+        CREATE TABLE VirtualUserTable (
+            user varchar(64) NOT NULL default '',
+            domain varchar(255) NOT NULL default '',
+            target_address varchar(255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    <sql name="createTable" db="sapdb">
+        CREATE TABLE VirtualUserTable (
+            user varchar(64) NOT NULL default '',
+            domain varchar(255) NOT NULL default '',
+            target_address varchar(255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    <sql name="createTable" db="db2">
+        CREATE TABLE VirtualUserTable (
+            user varchar(64) NOT NULL default '',
+            domain varchar(255) NOT NULL default '',
+            target_address varchar(255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    <sql name="createTable" db="ingres">
+        CREATE TABLE VirtualUserTable (
+            user varchar(64) NOT NULL default '',
+            domain varchar(255) NOT NULL default '',
+            target_address varchar(255) NOT NULL default '',
+            PRIMARY KEY (user,domain)
+        )
+    </sql>
+    -->
+    <sql name="createTable" db="derby">
+        CREATE TABLE VirtualUserTable (
+            "user" varchar (64) NOT NULL default '',
+            domain varchar (255) NOT NULL default '',
+            target_address varchar (255) NOT NULL default '',
+            PRIMARY KEY ("user",domain)
+        )
+    </sql>
+</sqlDefs>
+
+<!-- SQL statements for the JDBCDomainList  -->
+<sqlDefs name="org.apache.james.domain.JDBCDomainList">
+    <sql name="selectDomains">select distinct domain from ${table} </sql>
+    
+    <sql name="selectDomain">select distinct domain from ${table} where domain = ? </sql>
+    
+    <sql name="addDomain">insert into ${table} values (?) </sql>
+    
+    <sql name="removeDomain">delete from ${table} where domain = ? </sql>
+    
+        <!-- Statements used to create the table associated with this class. -->
+    <sql name="createTable" db="mysql">
+        CREATE TABLE ${table} (
+            domain varchar(100) NOT NULL default ''
+        )
+    </sql>
+    <sql name="createTable" db="hypersonic">
+        CREATE CACHED TABLE ${table} (
+            user varchar(100) NOT NULL default ''
+        )
+    </sql>
+    <sql name="createTable" db="hsqldb">
+        CREATE CACHED TABLE  ${table} (
+            domain varchar(100) NOT NULL default ''
+        )
+    </sql>
+    <sql name="createTable" db="mssql">
+        CREATE TABLE [${table}] (
+            [user] [domain] (100) NOT NULL default ''
+        )
+    </sql>
+    <sql name="createTable" db="oracle">
+        CREATE TABLE ${table} (
+            domain varchar2(100) NOT NULL default ''
+        )
+    </sql>
+    <sql name="createTable" db="postgresql">
+        CREATE TABLE ${table} (
+            domain varchar(64) NOT NULL default ''
+        )
+    </sql>
+    <sql name="createTable" db="sapdb">
+        CREATE TABLE ${table} (
+            domain varchar(100) NOT NULL default '',
+        )
+    </sql>
+    <sql name="createTable" db="db2">
+        CREATE TABLE ${table} (
+            domain varchar(100) NOT NULL default ''
+        )
+    </sql>
+    <sql name="createTable" db="ingres">
+        CREATE TABLE ${table} (
+            domain varchar(100) NOT NULL default ''
+        )
+    </sql>
+    <sql name="createTable" db="derby">
+        CREATE TABLE ${table} (
+            domain varchar (100) NOT NULL default ''
+        )
+    </sql>
 </sqlDefs>
 </sqlResources>
 



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