james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pgoldst...@apache.org
Subject cvs commit: jakarta-james/src/conf james-config.xml
Date Fri, 08 Nov 2002 23:34:14 GMT
pgoldstein    2002/11/08 15:34:14

  Modified:    src/conf james-config.xml
  Log:
  Added a bunch of comments to the config.
  
  Revision  Changes    Path
  1.38      +332 -208  jakarta-james/src/conf/james-config.xml
  
  Index: james-config.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-james/src/conf/james-config.xml,v
  retrieving revision 1.37
  retrieving revision 1.38
  diff -u -r1.37 -r1.38
  --- james-config.xml	4 Nov 2002 03:39:39 -0000	1.37
  +++ james-config.xml	8 Nov 2002 23:34:14 -0000	1.38
  @@ -1,43 +1,52 @@
   <?xml version="1.0"?>
  -<!--  Configuration file for Apache Jakarta James Mail and news server -->
  +<!--  Configuration file for the Apache Jakarta James server -->
   
  -<!--  This file contains important settings that control the behaviour
  -      of all of the services and repositories.
  +<!--  This file contains important settings that control the behaviour -->
  +<!--  of all of the services and repositories. -->
   
  -                               README!
  +<!--                               README!                            -->
   
  -This configuration file is designed to run without alteration for simple tests.
  -It assumes you have a DNS server on localhost and assigns a root password of root.
  +<!-- This configuration file is designed to run without alteration for simple tests. -->
  +<!-- It assumes you have a DNS server on localhost and assigns a root password of root. -->
   
  -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.
  +<!-- 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 need to make more extensive changes, see
  -http://jakarta.apache.org/james/configuration_v2_1.html
  +<!-- For production use you will probably need to make more extensive changes, see -->
  +<!-- http://jakarta.apache.org/james/configuration_v2_1.html -->
   
  -$Revision$ Committed on $Date$ by: $Author$-->
  +<!-- $Revision$ Committed on $Date$ by: $Author$ -->
   
   <config>
      <James>
   
  -<!-- CHECKME! Set this to the right email address for error reports -->
  +<!-- CHECKME! -->
         <!-- This is the postmaster email address for this mail server. -->
  +      <!-- Set this to the appropriate email address for error reports -->
         <!-- If this is set to a non-local email address, the mail server -->
         <!-- will still function, but will generate a warning on startup. -->
         <postmaster>Postmaster@localhost</postmaster>
   
  -<!-- CONFIRM? -->
  -      <!-- servernames identifies the DNS namespace served by this instance of James.
  -           If autodetect is TRUE, James wil attempt to discover its own name AND use any 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.
  -           By default, the servername 'localhost' is specified. This can be removed, if required. -->
  +      <!-- 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 fetchpop it is important to include the -->
  +      <!-- fetched domains in the server name list to prevent looping.       -->
         <servernames autodetect="true" autodetectIP="true">
  -         <!--<servername>To override autodetected server names  uncomment this.  </servername> -->
  +<!-- CONFIRM? -->
            <servername>localhost</servername>
  -        <!-- IMPORTANT if you are using fetchpop it is important to include the -->
  -        <!-- fetched domains here to prevent looping                            -->
         </servernames>
   
         <!-- Set whether user names are case sensitive or case insensitive -->
  @@ -51,39 +60,41 @@
            <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>"
  -               <data-source> is the datasource name set up in the database-connections block, below
  -               <table> is the name of the table to store user inboxes in
  -               The user name is used as <repositoryName> for this repository config.-->
  -      <!--<inboxRepository>
  +      <!-- Alternative inbox repository definition for DB use. -->
  +      <!-- The format for the destinationURL is "db://<data-source>/<table>" -->
  +      <!-- <data-source> is the datasource name set up in the database-connections block, below -->
  +      <!-- <table> is the name of the table to store user inboxes in -->
  +      <!-- The user name is used as <repositoryName> for this repository config. -->
  +      <!--
  +      <inboxRepository>
            <repository destinationURL="db://maildb/inbox/" type="MAIL"/>
  -      </inboxRepository>-->
  +      </inboxRepository>
  +      -->
      </James>
  -   
  +
      <!-- Fetch pop block, fetches mail from POP3 servers and inserts it into the incoming spool -->
  -   <!-- IMPORTANT it is important to prevent mail from looping by setting the  -->
  +   <!-- Warning: It is important to prevent mail from looping by setting the  -->
      <!-- fetched domains in the <servernames> section of the <James> block      -->
  -   <!-- above. fetchpop is disabled by default.                                  -->
  -   
  +   <!-- above. This block is disabled by default.                              -->
       <fetchpop enabled="false">
  -        <!-- You can have as many fetch tasks as you want to        -->
  -        <!-- but each must have a unique name to identify itself by -->
  +        <!-- You can have as many fetch tasks as you want, but each must have a -->
  +        <!-- unique name by which it identified -->
           <fetch name="mydomain.com">
  -            <!-- host name or IP address -->
  +            <!-- Host name or IP address -->
               <host>mail.mydomain.com</host>
               <!-- Account login username -->
               <user>username</user>
               <!-- Account login password -->
               <password>pass</password>
  -            <!-- Interval to check this account in milliseconds, 600000 is every ten minutes -->
  +            <!-- How frequently this account is checked - in milliseconds. 600000 is every ten minutes -->
               <interval>600000</interval>
           </fetch>
       </fetchpop>
  -    
  -    
  +
  +
      <!-- The James Spool Manager block  -->
      <!-- -->
  +   <!-- This block is responsible for processing messages on the spool. -->
      <spoolmanager>
         <!-- Number of spool threads -->
         <threads> 10 </threads>
  @@ -96,18 +107,28 @@
            <matcherpackage>org.apache.james.transport.matchers</matcherpackage>
         </matcherpackages>
   
  -      <!-- Processor CONFIGURATION SAMPLE: root is the first processor all mail enters-->
  +      <!-- The root processor is a required processor - James routes all mail on the spool -->
  +      <!-- through this processor first. -->
  +      <!-- -->
  +      <!-- This configuration is a sample configuration for the root processor. -->
         <processor name="root">
   
  -         <!-- Checks that the MAIL FROM command was for a valid domain. Important for spam prevention. -->
  -         <!--<mailet match="SenderInFakeDomain" class="ToProcessor">
  +         <!-- Checks that the email Sender is associated with a valid domain. -->
  +         <!-- Useful for detecting and eliminating spam. -->
  +         <!-- For this block to function, the spam processor must be configured. -->
  +         <!--
  +         <mailet match="SenderInFakeDomain" class="ToProcessor">
               <processor> spam </processor>
  -         </mailet> -->
  +         </mailet>
  +         -->
   
            <!-- Important check to avoid looping -->
            <mailet match="RelayLimit=30" class="Null"/>
   
            <!-- Check for delivery from a known spam server -->
  +         <!-- 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=blackholes.mail-abuse.org" class="ToProcessor">
               <processor> spam </processor>
               <notice> Rejected - see  http://www.mail-abuse.org/rbl/ </notice>
  @@ -122,7 +143,9 @@
            </mailet>
   
            <!-- Sample matching to kill a message (send to Null) -->
  +         <!--
            <mailet match="RecipientIs=badboy@badhost" class="Null"/>
  +         -->
   
            <!-- Send remaining mails to the transport processor for either local or remote delivery -->
            <mailet match="All" class="ToProcessor">
  @@ -130,59 +153,80 @@
            </mailet>
         </processor>
   
  -      <!-- Processor CONFIGURATION SAMPLE: error is the processor mails with failure conditions enter -->
  +      <!-- The error processor is required.  James may internally set emails to the -->
  +      <!-- error state.  The error processor is generally invoked when there is an -->
  +      <!-- unexpected error either in the mailet chain or internal to James. -->
  +      <!-- -->
  +      <!-- By default configuration all email that generates an error in placed in -->
  +      <!-- an error repository. -->
         <processor name="error">
   
            <!-- Logs any messages to the repository specified -->
            <mailet match="All" class="ToRepository">
               <repositoryPath> file://var/mail/error/</repositoryPath>
  -                <!-- alternative database repository example below -->
  -            <!-- <repositoryPath> db://maildb/deadletter/error </repositoryPath> -->
  +            <!-- An alternative database repository example follows. -->
  +            <!-- 
  +            <repositoryPath> db://maildb/deadletter/error </repositoryPath>
  +            -->
               <passThrough> true </passThrough>
            </mailet>
   
  -         <!-- If you want to notify the sender their message generated an error, uncomment this         -->
  -         <!--<mailet match="All" class="NotifySender"/>-->
  +         <!-- If you want to notify the sender their message generated an error, uncomment this       -->
  +         <!--
  +         <mailet match="All" class="NotifySender"/>
  +         -->
            <!-- If you want to notify the postmaster that a message generated an error, uncomment this  -->
  -         <!--<mailet match="All" class="NotifyPostmaster"/>-->
  +         <!--
  +         <mailet match="All" class="NotifyPostmaster"/>
  +         -->
         </processor>
   
  -      <!--  Processor CONFIGURATION SAMPLE: transport is a sample custom processor for local or remote delivery -->
  +      <!-- Processor CONFIGURATION SAMPLE: transport is a sample custom processor for local or -->
  +      <!-- remote delivery -->
         <processor name="transport">
   
            <!-- Is the recipient is for a local account, deliver it locally -->
            <mailet match="RecipientIsLocal" class="LocalDelivery"/>
   
  -         <!-- If the host is handled by this server and it did not get locally delivered, this is an invalid recipient -->
  +         <!-- If the host is handled by this server and it did not get -->
  +         <!-- locally delivered, this is an invalid recipient -->
            <mailet match="HostIsLocal" class="ToProcessor">
               <processor>error</processor>
            </mailet>
   
  -        <!-- CHECKME!    Anti-relay mailet: Add your network address here,
  -                  e.g. "RemoteAddrNotInNetwork=127.0.0.1, abc.de.*, 192.168.0.*"-->
  -
  -         <!-- This matcher-mailet pair can prevent relaying...
  -          if you change this, you risk making your mail server an open relay point for spam.
  -
  -                NOTE 1: the order of matcher-mailets is important: it must come after
  -                valid local recipients have been dealt with but before any attempt is
  -                made to delivery the mail remotely.
  -
  -                NOTE 2: Add your own network, if you want to relay mail outwards
  -
  -                NOTE 3: If you use SMTP AUTH, you may want to comment this out
  -                so users who are on the road can still use the server -->
  -
  +<!-- CHECKME! -->
  +         <!-- This is an anti-relay matcher/mailet combination -->
  +         <!-- -->
  +         <!-- Emails sent from servers not in the network list are  -->
  +         <!-- rejected as spam.  This is one method of preventing your -->
  +         <!-- server from being used as an open relay.  Make sure you understand -->
  +         <!-- how to prevent your server from becoming an open relay before -->
  +         <!-- changing this configuration. -->
  +         <!-- -->
  +         <!-- This matcher/mailet combination must come after local delivery has -->
  +         <!-- been performed.  Otherwise local users will not be able to receive -->
  +         <!-- email from senders not in this remote address list. -->
  +         <!-- -->
  +         <!-- If you are using this matcher/mailet you will probably want to -->
  +         <!-- update the configuration to include your own network/addresses.  The -->
  +         <!-- matcher can be configured with a comma separated list of IP addresses  -->
  +         <!-- wildcarded IP subnets, and wildcarded hostname subnets. -->
  +         <!-- e.g. "RemoteAddrNotInNetwork=127.0.0.1, abc.de.*, 192.168.0.*" -->
  +         <!-- -->
  +         <!-- If you are using SMTP authentication then you can (and generally -->
  +         <!-- should) disable this matcher/mailet pair. -->
            <mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor">
               <processor> spam </processor>
            </mailet>
   
  -         <!-- Attempt remote delivery using the specified repository for the spool,
  -               using delay time to retry delivery and the maximum number of retries -->
  +         <!-- Attempt remote delivery using the specified repository for the spool, -->
  +         <!-- using delay time to retry delivery and the maximum number of retries -->
            <mailet match="All" class="RemoteDelivery">
               <outgoing> file://var/mail/outgoing/ </outgoing>
  -                <!-- alternative database repository example below -->
  -            <!-- <outgoing> db://maildb/spool/outgoing </outgoing> -->
  +            <!-- alternative database repository example below -->
  +            <!--
  +            <outgoing> db://maildb/spool/outgoing </outgoing>
  +            -->
   
               <!-- Number of milliseconds between delivery attempts -->
               <delayTime> 21600000 </delayTime>
  @@ -193,37 +237,54 @@
               <!-- The number of threads that should be trying to deliver outgoing messages -->
               <deliveryThreads> 1 </deliveryThreads>
   
  -            <!-- A single mail server to deliver all outgoing messages.
  -                This is useful if this is a backup or failover machine,
  -                or if you otherwise want all messages to be sent only to particular mail server,
  -                regardless of the email addresses specified in the message -->
  -            <!--<gateway> otherserver.mydomain.com </gateway>-->
  -
  -            <!-- If your gateway mail server is listening on a port other than 25,
  -                you can set James to connect to it on that port -->
  -            <!--<gatewayPort> 25 </gatewayPort>-->
  +            <!-- A single mail server to deliver all outgoing messages. -->
  +            <!-- This is useful if this server is a backup or failover machine, -->
  +            <!-- or if you want all messages to be routed through a particular mail server, -->
  +            <!-- regardless of the email addresses specified in the message -->
  +            <!-- -->
  +            <!-- The gateway element specifies the gateway SMTP server name. -->
  +            <!-- If your gateway mail server is listening on a port other than 25, -->
  +            <!-- you can set James to connect to it on that port using the gatewayPort -->
  +            <!-- element. -->
  +            <!--
  +            <gateway> otherserver.mydomain.com </gateway>
  +            <gatewayPort>25</gatewayPort>
  +            -->
            </mailet>
   
         </processor>
   
  -      <!--  Processor CONFIGURATION SAMPLE: spam is where messages detected as relaying or other problems will get sent.
  -        You can either log these, bounce these, or just ignore them. -->
  +      <!-- Processor CONFIGURATION SAMPLE: spam is a sample custom processor for handling -->
  +      <!-- spam. -->
  +      <!-- You can either log these, bounce these, or just ignore them. -->
         <processor name="spam">
  -         <!-- If you wanted, you could just destroy messages, uncomment this matcher/mailet-->
  -         <!--<mailet match="All" class="Null"/>-->
  -
  -         <!-- If you want to notify the sender their message was marked as spam, uncomment this-->
  -         <!--<mailet match="All" class="NotifySender"/>-->
  -
  -         <!-- If you want to notify the postmaster that a message was marked as  spam, uncomment this-->
  -         <!--<mailet match="All" class="NotifyPostmaster"/>-->
  +         <!-- To destroy all messages, uncomment this matcher/mailet configuration -->
  +         <!--
  +         <mailet match="All" class="Null"/>
  +         -->
  +
  +         <!-- To notify the sender their message was marked as spam, uncomment this matcher/mailet configuration -->
  +         <!--
  +         <mailet match="All" class="NotifySender"/>
  +         -->
  +
  +         <!-- To notify the postmaster that a message was marked as spam, uncomment this matcher/mailet configuration -->
  +         <!--
  +         <mailet match="All" class="NotifyPostmaster"/>
  +         -->
   
  -         <!-- Out of the box, this will log the message to a repository -->
  +         <!-- To log the message to a repository, this matcher/mailet configuration should be uncommented. -->
  +         <!-- This is the default configuration. -->
            <mailet match="All" class="ToRepository">
               <repositoryPath>file://var/mail/spam/</repositoryPath>
   
  -                <!-- alternative database repository example below -->
  -            <!-- <repositoryPath> db://maildb/deadletter/spam </repositoryPath> -->
  +            <!-- Changing the repositoryPath, as in this commented out example, will -->
  +            <!-- cause the mails to be stored in a database repository.  -->
  +            <!-- Please note that only one repositoryPath element can be present for the mailet -->
  +            <!-- configuration. -->
  +            <!--
  +            <repositoryPath> db://maildb/deadletter/spam </repositoryPath>
  +            -->
            </mailet>
         </processor>
      </spoolmanager>
  @@ -236,10 +297,11 @@
      <!-- Information includes a list of DNS Servers to be used by James.  These are -->
      <!-- specified by the server elements, each of which is a child element of the -->
      <!-- servers element.  Each server element is the IP address of a single DNS server. -->
  -   <!-- The servers element can have multiple server children.  -->
  +   <!-- The servers element can have multiple server children. -->
      <dnsserver>
         <servers>
  -        <!-- CONFIRM? Enter ip address of your DNS server, one IP address per server -->
  +<!-- CONFIRM? -->
  +        <!--Enter ip address of your DNS server, one IP address per server -->
           <!-- element.  The default configuration assumes a DNS server on the localhost. -->
            <server>127.0.0.1</server>
         </servers>
  @@ -248,20 +310,24 @@
   
      <remotemanager>
         <port>4555</port>
  -      <!--  uncomment this if you want to bind to a specific inetaddress -->
  -      <!--<bind> </bind>-->
  -      <!--  uncomment this if you want to use TLS (SSL) on this port -->
  -      <!--<useTLS>true</useTLS>-->
  +      <!--  Uncomment this if you want to bind to a specific inetaddress -->
  +      <!--
  +      <bind> </bind>
  +      -->
  +      <!--  Uncomment this if you want to use TLS (SSL) on this port -->
  +      <!--
  +      <useTLS>true</useTLS>
  +      -->
         <handler>
  -         <!-- helloName is the single host name this instance of James will
  -               use to identify itself  for example, in SMTP and POP3 greetings. If
  -               autodetect is TRUE, James will attempt to discover its own name OR
  -               use 'localhost'. If autodetect is FALSE, James will use the value
  -               given OR 'localhost' -->
  +         <!-- This is the name used by the server to identify itself in the RemoteManager -->
  +         <!-- 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>
            <administrator_accounts>
  -<!-- CHECKME! Change the default password! -->
  -<!-- FILL ME!!!!!!  You must provide a password for your  administrator accounts (cannot be blank) -->
  +<!-- CHECKME! -->
  +            <!-- Change the default login/password. -->
               <account login="root" password="root"/>
            </administrator_accounts>
            <connectiontimeout> 60000 </connectiontimeout>
  @@ -276,17 +342,21 @@
         <!-- port 100 is the well-known/IANA registered port for Standard POP3 -->
         <port>110</port>
   
  -      <!--  uncomment this if you want to bind to a specific  inetaddress -->
  -      <!--<bind> </bind>-->
  -      <!--  uncomment this if you want to use TLS (SSL)  on this port -->
  -      <!--<useTLS>true</useTLS>-->
  +      <!-- Uncomment this if you want to bind to a specific inetaddress -->
  +      <!--
  +      <bind> </bind>
  +      -->
  +      <!--  Uncomment this if you want to use TLS (SSL) on this port -->
  +      <!--
  +      <useTLS>true</useTLS>
  +      -->
   
         <handler>
  -         <!-- helloName is the single host name this instance of James will
  -               use to identify itself  for example, in SMTP and POP3 greetings. If
  -               autodetect is TRUE, James will attempt to discover its own name OR
  -               use 'localhost'. If autodetect is FALSE, James will use the value
  -               given OR 'localhost' -->
  +         <!-- 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>
            <connectiontimeout>120000</connectiontimeout>
         </handler>
  @@ -296,56 +366,68 @@
       <!-- Disabling blocks will stop them from listening, -->
       <!-- but does not free as many resources as removing them would -->
      <smtpserver enabled="true">
  +      <!-- port 25 is the well-known/IANA registered port for SMTP -->
         <port>25</port>
   
  -      <!--  uncomment this if you want to bind to a specific inetaddress -->
  -      <!--<bind> </bind>-->
  -      <!--  uncomment this if you want to use TLS (SSL) on this port -->
  -      <!--<useTLS>true</useTLS>-->
  +      <!-- Uncomment this if you want to bind to a specific inetaddress -->
  +      <!--
  +      <bind> </bind>
  +      -->
  +      <!-- Uncomment this if you want to use TLS (SSL) on this port -->
  +      <!--
  +      <useTLS>true</useTLS>
  +      -->
   
         <handler>
  -         <!--helloName is the single host name this instance of James will
  -             use to identify itself  for example, in SMTP and POP3 greetings. If
  -             autodetect is TRUE, James will attempt to discover its own name OR
  -             use 'localhost'. If autodetect is FALSE, James will use the value
  -             given OR 'localhost' -->
  +         <!-- 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>
            <connectiontimeout>360000</connectiontimeout>
  -         <!--  uncomment this if you want
  -               SMTP AUTH support. This is useful if you have users who need to use
  -               the email server on the road, while not having your server act as an
  -               open relay! -->
  -         <!--<authRequired>true</authRequired>-->
  -         <!--  uncomment this if you want
  -               to verify that the MAIL FROM: address is the same user that
  -               authenticated. This prevents a user of your mail server from acting
  -               as somebody else -->
  -         <!--<verifyIdentity>true</verifyIdentity>-->
  -         <!--  This sets the maximum allowed message size for the smtphandler
  -               in KBytes. The value defaults to 0, which means no limit.  -->
  +
  +         <!--  Uncomment this if you want to require SMTP authentication. -->
  +         <!--
  +         <authRequired>true</authRequired>
  +         -->
  +
  +         <!--  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 -->
  +         <!--
  +         <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>
         </handler>
      </smtpserver>
  -   
  +
       <!-- The NNTP server is enabled by default -->
       <!-- Disabling blocks will stop them from listening, -->
       <!-- but does not free as many resources as removing them would -->
      <nntpserver enabled="true">
  -      <!-- port 563 is the well-known/IANA registered port for nntp over SSL/TLS -->
  -      <!-- port 119 is the well-known/IANA registered port for Standard nntp -->
  +      <!-- port 563 is the well-known/IANA registered port for NNTP over SSL/TLS -->
  +      <!-- port 119 is the well-known/IANA registered port for Standard NNTP -->
         <port>119</port>
   
  -      <!--  uncomment this if you want to bind to a specific  inetaddress -->
  -      <!--<bind> </bind>-->
  -      <!--  uncomment this if you want to use TLS (SSL)  on this port -->
  -      <!--<useTLS>true</useTLS>-->
  +      <!-- Uncomment this if you want to bind to a specific inetaddress -->
  +      <!--
  +      <bind> </bind>
  +      -->
  +      <!-- Uncomment this if you want to use TLS (SSL)  on this port -->
  +      <!--
  +      <useTLS>true</useTLS>
  +      -->
   
         <handler>
  -         <!-- helloName is the single host name this instance of James will
  -            use to identify itself  for example, in SMTP and POP3 greetings. If
  -            autodetect is TRUE, James will attempt to discover its own name OR
  -            use 'localhost'. If autodetect is FALSE, James will use the value
  -            given OR 'localhost' -->
  +         <!-- This is the name used by the server to identify itself in the NNTP -->
  +         <!-- 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>
            <connectiontimeout>120000</connectiontimeout>
             <!-- Set the authRequired value to true to enable authenticated NNTP -->
  @@ -354,7 +436,7 @@
      </nntpserver>
   
      <nntp-repository>
  -      <!-- make this true to disallow posting to all newsgroups-->
  +      <!-- If this is set to true, posting will be disallowed. -->
         <readOnly>false</readOnly>
   
         <rootPath>file://var/nntp/groups</rootPath>
  @@ -362,7 +444,7 @@
         <articleIDPath>file://var/nntp/articleid</articleIDPath>
         <articleIDDomainSuffix>news.james.apache.org</articleIDDomainSuffix>
   
  -      <!-- these additional news groups would be created and exposed-->
  +      <!-- The news groups hosted in this NNTP repository. -->
         <newsgroups>
            <newsgroup>org.apache.james.dev</newsgroup>
            <newsgroup>org.apache.james.user</newsgroup>
  @@ -373,17 +455,20 @@
         <spool>
            <configuration>
               <spoolPath>file://var/nntp/spool</spoolPath>
  -            <!-- number of threads that process spooler related tasks -->
  +            <!-- The number of threads that process spooler related tasks. -->
               <threadCount>1</threadCount>
  -            <!-- the spool thread(s) should idle for some time, if it has nothing to do  -->
  +            <!-- The spool thread(s) should idle for some time, if it has nothing to do  -->
               <threadIdleTime>1000</threadIdleTime>
            </configuration>
         </spool>
  -
      </nntp-repository>
  -   <!-- The High Level Storage block -->
  +
  +   <!-- The Mailstore block -->
      <mailstore>
         <repositories>
  +
  +         <!-- File based repositories.  These repositories store all message data -->
  +         <!-- in the file system. -->
            <repository class="org.apache.james.mailrepository.AvalonMailRepository">
               <protocols>
                  <protocol>file</protocol>
  @@ -400,7 +485,9 @@
                  <type>SPOOL</type>
               </types>
            </repository>
  -         <!-- These repositories store the entire message in the database -->
  +
  +         <!-- JDBC based repositories.  These repositories store all message data -->
  +         <!-- in the database. -->
            <repository class="org.apache.james.mailrepository.JDBCMailRepository">
               <protocols>
                  <protocol>db</protocol>
  @@ -412,6 +499,7 @@
                  <sqlFile>file://conf/sqlResources.xml</sqlFile>
               </config>
            </repository>
  +
            <repository class="org.apache.james.mailrepository.JDBCSpoolRepository">
               <protocols>
                  <protocol>db</protocol>
  @@ -423,6 +511,7 @@
                  <sqlFile>file://conf/sqlResources.xml</sqlFile>
               </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>
  @@ -436,6 +525,7 @@
                  <filestore>file://var/dbmail</filestore>
               </config>
            </repository>
  +
            <repository class="org.apache.james.mailrepository.JDBCSpoolRepository">
               <protocols>
                  <protocol>dbfile</protocol>
  @@ -451,33 +541,38 @@
         </repositories>
   
         <!-- Spool repository configuration -->
  -      <!-- The spool repository is the single location where incoming mails are temporarily stored before being processed.
  -        (ex. file://c:/james/spool/) -->
  -      <!-- Default setting: file based repository - enter path ( :/// for absolute) -->
  +      <!-- The spool repository is the location where incoming mails are temporarily stored -->
  +      <!-- before being processed. -->
         <spoolRepository>
            <repository destinationURL="file://var/mail/spool/" type="SPOOL"/>
         </spoolRepository>
   
         <!-- Alternative spool repository definition for JDBC use -->
  -      <!--<spoolRepository>
  +      <!--
  +      <spoolRepository>
            <repository destinationURL="db://maildb/spool/spool" type="SPOOL"/>
  -      </spoolRepository>-->
  +      </spoolRepository>
  +      -->
      </mailstore>
   
   
      <!-- The User Storage block -->
      <users-store>
  -      <!-- Configure User Repositories here.
  -      User repositories are required for the following purposes:
  -      - holding information about Users of the James mail server
  -      - holding lists of users for the listserv mailet
  -      Currently, two different storage options are available:
  -      - file-based storage using Java serialization
  -      - database-backed storage
  -      (Use of database or file-system is defined on a "per-repository" basis)
  -      Note: Two user repositories are required for default configuration:
  -      LocalUsers - the users for whom you are providing POP3, NNTP, or AUTH service
  -      list-james - the users of the james@localhost mailiinglist-->
  +      <!-- Configure User Repositories here. -->
  +      <!-- -->
  +      <!-- User repositories are required for the following purposes: -->
  +      <!--    - storing James user information, including forwards, aliases, -->
  +      <!--      and authentication data. -->
  +      <!--    - holding lists of users for the listserv mailet -->
  +      <!-- Currently, two different storage options are available: -->
  +      <!--    - file-based storage using Java serialization -->
  +      <!--    - database-backed storage -->
  +      <!-- (Use of database or file-system is defined on a "per-repository" basis) -->
  +      <!-- -->
  +      <!-- Note: One user repository is required for James: -->
  +      <!--   LocalUsers - the users for whom you are providing POP3, NNTP, or SMTP service -->
  +      <!-- -->
  +      <!-- Other repositories may be used by matchers or mailets. -->
   
         <!-- Default: File-based user repositories  Use these configurations to store user info in the filesystem  -->
         <!-- The LocalUsers repository, for storing James' User info. -->
  @@ -485,61 +580,67 @@
            <destination URL="file://var/users/"/>
         </repository>
   
  -      <!-- The list used by the default ListServ mailet -->
  -      <repository name="list-james" class="org.apache.james.userrepository.UsersFileRepository">
  -         <destination URL="file://var/lists/list-james/"/>
  -      </repository>
  -
  -      <!-- Database backed user repositories
  -             Use these configurations to store user info in a database.
  -             Note: the <data-source> element must refer to a connection configured
  -             in the <database-connections> configuration section. -->
  +      <!-- Database backed user repositories -->
  +      <!-- -->
  +      <!-- Use these configurations to store user info in a database. -->
  +      <!-- Note: The <data-source> element must refer to a connection configured -->
  +      <!--       in the <database-connections> configuration section. -->
   
         <!-- The LocalUsers repository, for storing James' User info. -->
  -      <!--<repository name="LocalUsers" class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">
  +      <!--
  +      <repository name="LocalUsers" class="org.apache.james.userrepository.JamesUsersJdbcRepository" destinationURL="db://maildb/users">
            <sqlFile>file://conf/sqlResources.xml</sqlFile>
  -      </repository>-->
  +      </repository>
  +      -->
   
  -      <!-- The list used by the default ListServ mailet -->
  -      <!--<repository name="list-james" class="org.apache.james.userrepository.ListUsersJdbcRepository" destinationURL="db://maildb/lists/list-james">
  -         <sqlFile>file://conf/sqlResources.xml</sqlFile>
  -      </repository>-->
      </users-store>
   
      <!-- The database-connections block -->
      <database-connections>
  -      <!-- Configure database connections here. These connections are referred to by name elsewhere in the config file -->
  -      <!-- CHECKME! To allow James to use a database, configure the database connection here -->
  +      <!-- These connections are referred to by name elsewhere in the config file -->
  +<!-- CHECKME! -->
  +      <!-- To allow James to use a database you must configure the database connection here. -->
  +      <!-- If you are not using a database, you can leave this section unchanged. -->
  +      <!-- These connections are referred to by name in URLs elsewhere in the config file. -->
         <data-sources>
   
  -         <!-- James is distributed with a built in relevant copy of the mm.mysql JDBC  -->
  -         <!-- driver no additional driver is needed for mysql. Read the mm.mysql LGPL  -->
  -         <!-- licence at apps\james\SAR-INF\lib\mm.mysql.LICENCE                       -->
  +         <!-- James is distributed with a built in relevant copy of the mm.mysql JDBC    -->
  +         <!-- driver.  No additional driver is needed for mysql. Read the mm.mysql LGPL  -->
  +         <!-- license at apps\james\SAR-INF\lib\mm.mysql.LICENCE                       -->
   
            <!-- JDBC driver .jar libraries for other RDBMS can be placed in ~james/lib/  -->
   
            <!-- Example, connecting to a MySQL database called "mail" on localhost-->
  -         <!--<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
  +         <!-- -->
  +         <!-- The max value is the maximum number of concurrent connections James will -->
  +         <!-- open to this database-->
  +         <!-- If you see "SQLException: Giving up... no connections available." in your -->
  +         <!-- log files or bounced mail you should increase this value -->
  +         <!--
  +         <data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
               <driver>org.gjt.mm.mysql.Driver</driver>
               <dburl>jdbc:mysql://127.0.0.1/mail</dburl>
               <user>username</user>
  -            <password>password</password>  -->
  -                <!-- Maximum concurrent connections james may open to this database-->
  -                <!-- If you see "SQLException: Giving up... no connections available." in your
  -                log files or bounced mail increase this value
  +            <password>password</password>
               <max>20</max>
  -         </data-source>-->
  +         </data-source>
  +         -->
   
  -         <!--<data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
  +         <!-- Example, connecting to a Microsoft MSSQL database called "mail" on localhost-->
  +         <!-- -->
  +         <!-- The max value is the maximum number of concurrent connections James will -->
  +         <!-- open to this database-->
  +         <!-- If you see "SQLException: Giving up... no connections available." in your -->
  +         <!-- log files or bounced mail you should increase this value -->
  +         <!--
  +         <data-source name="maildb" class="org.apache.james.util.mordred.JdbcDataSource">
               <driver>com.inet.tds.TdsDriver</driver>
               <dburl>jdbc:inetdae7:127.0.0.1?database=James</dburl>
               <user>sa_james</user>
  -            <password>blahblah</password> -->
  -                <!-- Maximum concurrent connections james may open to this database-->
  -                <!-- If you see "SQLException: Giving up... no connections available." in your
  -                log files or bounced mail increase this value
  +            <password>blahblah</password>
               <max>20</max>
  -         </data-source>-->
  +         </data-source>
  +         -->
   
         </data-sources>
      </database-connections>
  @@ -557,7 +658,9 @@
      <!-- attempting to adjust this section. -->
      <!-- -->
   
  -   <!-- The Storage block -->
  +   <!-- The Object Storage block -->
  +   <!-- -->
  +   <!-- Defines file storage details that are used for file-based repositories. -->
      <objectstorage>
         <repositories>
            <repository class="org.apache.avalon.cornerstone.blocks.masterstore.File_Persistent_Object_Repository">
  @@ -573,6 +676,7 @@
                  <model>CACHE</model>
               </models>
            </repository>
  +
            <repository class="org.apache.avalon.cornerstone.blocks.masterstore.File_Persistent_Stream_Repository">
               <protocols>
                  <protocol>file</protocol>
  @@ -588,6 +692,7 @@
            </repository>
         </repositories>
      </objectstorage>
  +
      <!-- The Connection Manager block -->
      <!-- -->
      <!-- The idle-timeout is the number of milliseconds that it will take for idle -->
  @@ -607,6 +712,7 @@
         <idle-timeout>300000</idle-timeout>
         <max-connections>30</max-connections>
      </connections>
  +
      <!-- The Socket Manager block -->
      <!-- -->
      <!-- The server-sockets element has a number of factory sub-elements. -->
  @@ -628,7 +734,8 @@
      <sockets>
         <server-sockets>
            <factory name="plain" class="org.apache.avalon.cornerstone.blocks.sockets.DefaultServerSocketFactory"/>
  -         <!--<factory name="ssl" class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
  +         <!--
  +         <factory name="ssl" class="org.apache.avalon.cornerstone.blocks.sockets.TLSServerSocketFactory">
               <keystore>
                  <file>conf/keystore</file>
                  <password>secret</password>
  @@ -637,21 +744,38 @@
                  <algorithm>SunX509</algorithm>
                  <authenticate-client>false</authenticate-client>
               </keystore>
  -         </factory>-->
  +         </factory>
  +         -->
         </server-sockets>
         <client-sockets>
            <factory name="plain" class="org.apache.avalon.cornerstone.blocks.sockets.DefaultSocketFactory"/>
         </client-sockets>
      </sockets>
  +
  +   <!-- The Thread Manager block -->
  +   <!-- -->
  +   <!-- The thread manager provides thread pools for use throughout the server. -->
  +   <!-- -->
  +   <!-- A thread pool with the name "default" must be defined in this thread manager -->
  +   <!-- configuration. -->
  +   <!-- -->
  +   <!-- Each thread pool is defined with a "thread-group" element. -->
  +   <!-- Each of these elements has the following required sub-elements: -->
  +   <!--   name - the name of the thread pool, used by other components to -->
  +   <!--          lookup the thread pool -->
  +   <!--   priority - the thread priority for threads in the pool.  This is -->
  +   <!--              a value between 0 and 10, with 5 being the normal -->
  +   <!--              priority and 10 being the maximum. -->
  +   <!--   is-daemon - whether the threads in the pool are daemon threads. -->
  +   <!--   max-threads - the maximum number of threads allowed in the pool. -->
  +   <!--   min-threads - the minimum number of threads allowed in the pool. (not implemented) -->
  +   <!--   min-spare-threads - (not implemented) -->
      <thread-manager>
         <thread-group>
            <name>default</name>
  -         <!-- normal priority == 5, max-priority = 10 -->
            <priority>5</priority>
  -         <!-- are threads daemon threads ? -->
            <is-daemon>false</is-daemon>
            <max-threads>100</max-threads>
  -         <!-- these are ignored at the moment but will be fixed in later revisions -->
            <min-threads>20</min-threads>
            <min-spare-threads>20</min-spare-threads>
         </thread-group>
  
  
  

--
To unsubscribe, e-mail:   <mailto:james-dev-unsubscribe@jakarta.apache.org>
For additional commands, e-mail: <mailto:james-dev-help@jakarta.apache.org>


Mime
View raw message