james-server-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From e...@apache.org
Subject svn commit: r1554824 - in /james/server/trunk/app/src/test/resources: imapserver.xml log4j.properties mailbox.xml mailetcontainer.xml pop3server.xml smtpserver.xml
Date Thu, 02 Jan 2014 15:07:40 GMT
Author: eric
Date: Thu Jan  2 15:07:39 2014
New Revision: 1554824

URL: http://svn.apache.org/r1554824
Log:
More comments on the test files used for configuration

Modified:
    james/server/trunk/app/src/test/resources/imapserver.xml
    james/server/trunk/app/src/test/resources/log4j.properties
    james/server/trunk/app/src/test/resources/mailbox.xml
    james/server/trunk/app/src/test/resources/mailetcontainer.xml
    james/server/trunk/app/src/test/resources/pop3server.xml
    james/server/trunk/app/src/test/resources/smtpserver.xml

Modified: james/server/trunk/app/src/test/resources/imapserver.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/app/src/test/resources/imapserver.xml?rev=1554824&r1=1554823&r2=1554824&view=diff
==============================================================================
--- james/server/trunk/app/src/test/resources/imapserver.xml (original)
+++ james/server/trunk/app/src/test/resources/imapserver.xml Thu Jan  2 15:07:39 2014
@@ -19,11 +19,9 @@
  -->
  
 <!--
-   This template file can be used as example for James Server configuration
-   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
+   Configuration file used to run a local James server from the IDE.
+   See http://james.apache.org/server/3/config.html for usage.
 -->
- 
-<!-- See http://james.apache.org/server/3/config.html for usage -->
 
 <imapservers>
 

Modified: james/server/trunk/app/src/test/resources/log4j.properties
URL: http://svn.apache.org/viewvc/james/server/trunk/app/src/test/resources/log4j.properties?rev=1554824&r1=1554823&r2=1554824&view=diff
==============================================================================
--- james/server/trunk/app/src/test/resources/log4j.properties (original)
+++ james/server/trunk/app/src/test/resources/log4j.properties Thu Jan  2 15:07:39 2014
@@ -15,7 +15,10 @@
 #  specific language governing permissions and limitations
 #  under the License.
 
-# See http://james.apache.org/server/3/config.html for usage
+###############################################################################
+# Configuration file used to run a local James server from the IDE.
+# See http://james.apache.org/server/3/config.html for usage.
+###############################################################################
 
 log4j.rootLogger=DEBUG
 

Modified: james/server/trunk/app/src/test/resources/mailbox.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/app/src/test/resources/mailbox.xml?rev=1554824&r1=1554823&r2=1554824&view=diff
==============================================================================
--- james/server/trunk/app/src/test/resources/mailbox.xml (original)
+++ james/server/trunk/app/src/test/resources/mailbox.xml Thu Jan  2 15:07:39 2014
@@ -18,8 +18,11 @@
   under the License.                                           
  -->
  
-<!-- See http://james.apache.org/server/3/config.html for usage -->
- 
+<!--
+   Configuration file used to run a local James server from the IDE.
+   See http://james.apache.org/server/3/config.html for usage.
+-->
+
 <mailbox>
     <!-- supported providers are: -->
     <!-- jpa, jcr, maildir, hbase, memory -->

Modified: james/server/trunk/app/src/test/resources/mailetcontainer.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/app/src/test/resources/mailetcontainer.xml?rev=1554824&r1=1554823&r2=1554824&view=diff
==============================================================================
--- james/server/trunk/app/src/test/resources/mailetcontainer.xml (original)
+++ james/server/trunk/app/src/test/resources/mailetcontainer.xml Thu Jan  2 15:07:39 2014
@@ -16,94 +16,665 @@
   KIND, either express or implied.  See the License for the    
   specific language governing permissions and limitations      
   under the License.                                           
- --> 
+ -->
 
-<!-- See http://james.apache.org/server/3/config.html for usage -->
+<!--
+   Configuration file used to run a local James server from the IDE.
+   See http://james.apache.org/server/3/config.html for usage.
+-->
 
 <mailetcontainer enableJmx="true">
+ 
+    <!-- MailAddress used for PostMaster -->
+    <context>
+        <postmaster>postmaster@localhost</postmaster>
+    </context>
 
-  <context>
-    <postmaster>me@localhost.net</postmaster>
-  </context>
-  
-  <spooler>
-    <threads>20</threads>
-  </spooler>
-    
+    <!-- Number of spool threads -->
+    <spooler>
+      <threads>20</threads>
+    </spooler>
+      
   <processors>
   
+    <!-- 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 state="root" enableJmx="true">
-      <mailet match="All" class="PostmasterAlias"/>
-      <mailet match="RelayLimit=30" class="Null"/>
-      <mailet match="SMTPAuthSuccessful" class="ToProcessor">
-        <processor>transport</processor>
-      </mailet>
-      <mailet match="All" class="ToProcessor">
-        <processor>transport</processor>
-      </mailet>
-    </processor>
 
-    <processor state="transport" enableJmx="true">
-      <mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
-        <name>X-UserIsAuth</name>
-        <value>true</value>
-      </mailet>
-      <mailet match="RecipientIsLocal" class="RecipientToLowerCase"/>
-      <mailet match="All" class="RecipientRewriteTable" />
-      <mailet match="RecipientIsLocal" class="LocalDelivery"/>
-      <mailet match="HostIsLocal" class="ToProcessor">
-        <processor>local-address-error</processor>
-        <notice>550 - Requested action not taken: no such user here</notice>
-      </mailet>
-      <mailet match="All" class="RemoteDelivery">
-        <outgoingQueue>outgoing</outgoingQueue>
-        <delayTime>5 minutes</delayTime>
-        <delayTime>10 minutes</delayTime>
-        <delayTime>45 minutes</delayTime>
-        <delayTime>2 hours</delayTime>
-        <delayTime>3 hours</delayTime>
-        <delayTime>6 hours</delayTime>
-        <maxRetries>10</maxRetries>
-        <maxDnsProblemRetries>0</maxDnsProblemRetries>
-        <deliveryThreads>10</deliveryThreads>
-        <sendpartial>true</sendpartial>
-        <bounceProcessor>bounces</bounceProcessor>
-      </mailet>
+       <!-- This mailet redirects mail for the user 'postmaster' at any local domain to
-->
+       <!-- the postmaster address specified for the server. The postmaster address -->
+       <!-- is required by rfc822. Do not remove this mailet unless you are meeting -->
+       <!-- this requirement through other means (e.g. a XML/JDBCRecipientRewriteTable
defined in recipientrewritetable-store.xml) -->
+       <mailet match="All" class="PostmasterAlias"/>
+
+       <!-- 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=64.55.105.9,64.94.110.11,194.205.62.122,194.205.62.62,195.7.77.20,206.253.214.102,212.181.91.6,219.88.106.80,194.205.62.42,216.35.187.246,203.119.4.6"
class="ToProcessor">
+          <processor>spam</processor>
+       </mailet>
+         -->
+
+       <!-- Important check to avoid looping -->
+       <mailet match="RelayLimit=30" class="Null"/>
+
+       <!-- Check for viruses -->
+       <!-- -->
+       <!-- Does an antivirus scan check using a ClamAV daemon (CLAMD). -->
+       <!-- -->
+       <!-- Interacts directly with the daemon using the "stream" method, -->
+       <!-- which should have the lowest possible overhead. -->
+       <!-- The CLAMD daemon will typically reside on localhost, but could reside on a
-->
+       <!-- different host. -->
+       <!-- It may also consist on a set of multiple daemons, each residing on a different
-->
+       <!-- server and on different IP number. -->
+       <!-- In such case a DNS host name with multiple IP addresses (round-robin load
sharing) -->
+       <!-- is supported by the mailet (but on the same port number). -->
+       <!-- -->
+       <!-- Handles the following init parameters: -->
+       <!--<debug>-->
+       <!--<host>: the host name of the server where CLAMD runs. It can either be
-->
+       <!--     a machine name, such as -->
+       <!--     "java.sun.com", or a textual representation of its -->
+       <!--     IP address. If a literal IP address is supplied, only the -->
+       <!--     validity of the address format is checked. -->
+       <!--     If the machine name resolves to multiple IP addresses, round-robin load
sharing will -->
+       <!--     be used. -->
+       <!--     The default is "localhost". -->
+       <!--<port>: the port on which CLAMD listens. The default is "3310". -->
+       <!--<maxPings>: the maximum number of connection retries during startup.
-->
+       <!--     If the value is "0" no startup test will be done. -->
+       <!--     The default is "6". -->
+       <!--<pingIntervalMilli>: the interval (in milliseconds) -->
+       <!--     between each connection retry during startup. -->
+       <!--     The default is "30000" (30 seconds). -->
+       <!--<streamBufferSize>: the BufferedOutputStream buffer size to use  -->
+       <!--     writing to the stream connection. The default is "8192". -->
+       <!--
+       <mailet match="All" class="ClamAVScan" onMailetException="ignore">
+          <debug>true</debug>
+       </mailet>
+         -->
+
+       <!-- If infected go to virus processor -->
+       <mailet match="HasMailAttributeWithValue=org.apache.james.infected, true" class="ToProcessor">
+          <processor>virus</processor>
+       </mailet>
+
+       <!-- Check attachment extensions for possible viruses -->
+       <!-- The "-z" option requests the check to be non-recursively applied -->
+       <!-- to the contents of any attached '*.zip' file. -->
+       <!-- 
+       <mailet match="AttachmentFileNameIs=-d -z *.exe *.com *.bat *.cmd *.pif *.scr *.vbs
*.avi *.mp3 *.mpeg *.shs" class="Bounce" onMatchException="error">
+          <inline>heads</inline>
+          <attachment>none</attachment>
+          <passThrough>false</passThrough>
+          <prefix>[REJECTED]</prefix>
+          <notice>
+The Security Policy of XXX does not allow to forward messages containing attachments having
any of the extensions .exe, .com, .bat, .cmd, .pif, .scr, .vbs, .avi, .mp3, .mpeg, .shs, therefore
your message has been rejected.
+
+Please don't reply to this e-mail as it has been automatically sent by the antivirus system.
+
+Regards, Postmaster XXX.YYY
+.....................................
+          </notice>
+       </mailet>
+         -->
+
+       <!-- Whitelist Management -->
+       <!-- Manages for each local user a "white list" of remote addresses whose messages
-->
+       <!-- should never be blocked as spam. -->
+       <!-- -->
+       <!-- If<automaticInsert>is true, it will check, for a local sender, if a
remote recipient -->
+       <!-- is already in the list: if not, it will be automatically inserted. -->
+       <!-- This is under the interpretation that if a local sender X sends a message
to a -->
+       <!-- remote recipient Y, then later on if a message is sent by Y to X it should
be -->
+       <!-- considered always valid and never blocked; hence Y should be in the white
list -->
+       <!-- of X. -->
+       <!-- -->
+       <!-- Another mode of operations is when a local sender sends a message to<whitelistManagerAddress>-->
+       <!-- with one of three specific values in the subject, to -->
+       <!-- (i) send back a message displaying a list of the addresses in his own list
(<displayFlag>); -->
+       <!-- (ii) insert some new addresses in his own list (<insertFlag>); -->
+       <!-- (iii) remove some addresses from his own list (<removeFlag>). -->
+       <!-- In all of the three above cases the message will be ghosted and the postmaster
will reply -->
+       <!-- to the sender. -->
+       <!-- -->
+       <!-- The sender name is always converted to its primary name (handling aliases).
-->
+       <!--
+       <mailet match="SMTPAuthSuccessful" class="WhiteListManager" onMailetException="ignore">
+          <repositoryPath>db://maildb</repositoryPath>
+          <automaticInsert>true</automaticInsert>
+          <whitelistManagerAddress>whitelist.manager@xxx.yyy</whitelistManagerAddress>
+          <displayFlag>display</displayFlag>
+          <insertFlag>insert</insertFlag>
+          <removeFlag>remove</removeFlag>
+       </mailet>
+         -->
+
+       <!-- "not spam" bayesian analysis feeder. -->
+       <!--
+       <mailet match="RecipientIs=not.spam@xxx.yyy" class="BayesianAnalysisFeeder">
+          <repositoryPath>db://maildb</repositoryPath>
+          <feedType>ham</feedType>
+          <maxSize>200000</maxSize>
+       </mailet>
+         -->
+     
+       <!-- "spam" bayesian analysis feeder. -->
+       <!--
+       <mailet match="RecipientIs=spam@xxx.yyy" class="BayesianAnalysisFeeder">
+          <repositoryPath>db://maildb</repositoryPath>
+          <feedType>spam</feedType>
+          <maxSize>200000</maxSize>
+       </mailet>
+         -->
+
+       <!-- sample SMIME mailets configuration -->
+       <!-- 
+       <mailet match="IsSMIMEEncrypted" class="SMIMEDecrypt">
+          <keyStoreType>pkcs12</keyStoreType>
+          <keyStoreFileName>c:/path.pfx</keyStoreFileName>
+          <keyStorePassword>myKeyStorePass</keyStorePassword>
+          <keyAlias>myKeyAlias</keyAlias>
+          <keyAliasPassword>myKeyPass</keyAliasPassword>
+       </mailet>
+         
+       <mailet match="IsSMIMESigned" class="SMIMECheckSignature">
+          <keyStoreType>pkcs12</keyStoreType>
+          <keyStoreFileName>c:/path.pfx</keyStoreFileName>
+          <keyStorePassword>myKeyStorePass</keyStorePassword>
+          <strip>false</strip>
+          <onlyTrusted>true</onlyTrusted>
+       </mailet>
+         -->
+
+       <!--
+         
+         XMLRecipientRewriteTable is deprecated - Use the definitions in recipientrewritetable-store.xml
+         
+       <mailet match="All" class="XMLRecipientRewriteTable">
+          <!- 1:1 mapping ->
+          <mapping>morgoth@middle-earth=sauron@mordor</mapping>
+          <!- 1:n mapping ->
+          <mapping>istari@middle-earth=saruman@isengard;radigast;gandalf</mapping>
+          <!- DSN mapping ->
+          <mapping>boromir@osgilliath=error:550 Requested action not taken: no such
user here</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>
+       </mailet>
+         
+         -->
+
+       <!-- Anti-spam processing -->
+       <!-- The following two entries avoid double anti-spam analysis -->
+       <!-- for forwarded messages. -->
+       <!-- Has spam checking already been done? -->
+       <mailet match="HasMailAttribute=spamChecked" class="ToProcessor">
+          <processor>transport</processor>
+       </mailet>
+       <!-- Spam checking will not be done twice -->
+       <mailet match="All" class="SetMailAttribute">
+          <spamChecked>true</spamChecked>
+       </mailet>
+
+       <!-- White List:
+              If you use block lists, you will probably want to check
+              for known permitted senders.  This is particularly true
+              if you use more aggressive block lists, such as SPEWS,
+              that are prone to block entire subnets without regard
+              for non-spamming senders.
+         -->
+
+       <!-- Messages from authenticated senders never are spam -->
+       <mailet match="SMTPAuthSuccessful" class="ToProcessor">
+          <processor>transport</processor>
+       </mailet>
+
+       <!-- Messages signed by trusted users never are spam -->
+       <!-- Uncommenting the following entry, messages with valid signatures will never
be considered spam. -->
+       <!-- This can be a valid policy *if* SMIMECheckSignature was invoked -->
+       <!-- with<onlyTrusted>true</onlyTrusted>set -->
+       <!--
+       <mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="ToProcessor">
+          <processor>transport</processor>
+       </mailet>
+         -->
+
+       <!-- specific known senders -->
+       <!--
+       <mailet match="SenderIs=goodboy@goodhost"
+                 class="ToProcessor">
+          <processor>transport</processor>
+       </mailet>
+         -->
+
+       <!-- People on this list agree to pay a penalty if they send spam -->
+       <mailet match="InSpammerBlacklist=query.bondedsender.org."
+                 class="ToProcessor">
+         <processor>transport</processor>
+       </mailet>
+
+       <!-- E-mail legally required not to be spam (see: http://www.habeas.com) -->
+       <!--
+       <mailet match="HasHabeasWarrantMark" class="ToProcessor">
+          <processor>transport</processor>
+       </mailet>
+         -->
+
+       <!-- If the sender is in a recipient's whitelist, it is a valid sender, -->
+       <!-- and as such the message should not be considered spam for such recipient.
-->
+       <!--
+       <mailet match="IsInWhiteList=db://maildb" class="ToProcessor" onMatchException="noMatch">
+          <processor>transport</processor>
+       </mailet>
+         -->
+
+       <!-- End of White List -->
+
+       <!-- 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=dnsbl.njabl.org."
+                 class="ToProcessor">
+         <processor>spam</processor>
+         <notice>550 Requested action not taken: rejected - see http://njabl.org/</notice>
+       </mailet>
+         
+       <!-- Sample matching to kill a message (send to Null) -->
+       <!--
+       <mailet match="RecipientIs=badboy@badhost" class="Null"/>
+         -->
+
+       <!-- Anti spam bayesian analysis -->
+       <!--
+       <mailet match="All" class="BayesianAnalysis" onMailetException="ignore">
+          <repositoryPath>db://maildb</repositoryPath>
+          <maxSize>200000</maxSize>
+          <headerName>X-MessageIsSpamProbability</headerName>
+          <ignoreLocalSender>true</ignoreLocalSender>
+       </mailet>
+
+       <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability >0.90" class="SetMailAttribute"
onMatchException="noMatch">
+          <isSpam>true</isSpam>
+       </mailet>
+
+       <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability >0.90" class="SetMimeHeader"
onMatchException="noMatch">
+          <name>X-MessageIsSpam</name>
+          <value>true</value>
+       </mailet>
+
+       <mailet match="CompareNumericHeaderValue=X-MessageIsSpamProbability >0.99" class="ToProcessor"
onMatchException="noMatch">
+          <processor>spam</processor>
+          <notice>Spam not accepted</notice>
+       </mailet>
+         -->
+         
+       <mailet notmatch="SenderHostIsLocal" class="SpamAssassin">
+          <spamdHost>localhost</spamdHost>
+          <spamdPort>783</spamdPort>
+       </mailet>
+
+       <!-- Send remaining mails to the transport processor for either local or remote
delivery -->
+       <mailet match="All" class="ToProcessor">
+          <processor>transport</processor>
+       </mailet>
+
     </processor>
 
+    <!-- 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 state="error" enableJmx="true">
-      <mailet match="All" class="ToRepository">
-        <repositoryPath>file://var/mail/error/</repositoryPath>
-      </mailet>
+       <!-- If you want to notify the sender their message generated an error, uncomment
this       -->
+       <!--
+       <mailet match="All" class="Bounce"/>
+         -->
+       <!-- If you want to notify the postmaster that a message generated an error, uncomment
this  -->
+       <!--
+       <mailet match="All" class="NotifyPostmaster"/>
+         -->
+
+       <!-- Logs any messages to the repository specified -->
+       <mailet match="All" class="ToRepository">
+          <repositoryPath>file://var/mail/error/</repositoryPath>
+          <!-- An alternative database repository example follows. -->
+          <!--
+          <repositoryPath>db://maildb/deadletter/error</repositoryPath>
+            -->
+       </mailet>
+    </processor>
+
+    <!-- Processor CONFIGURATION SAMPLE: transport is a sample custom processor for local
or -->
+    <!-- remote delivery -->
+    <processor state="transport" enableJmx="true">
+
+      <!-- This is an example configuration including configuration for a list server.
-->
+      <!-- CHECKME: before uncommenting this, edit the configuration file's contents 
 -->
+      <!--
+          &listserverConfig;
+        -->
+
+       <mailet match="SMTPAuthSuccessful" class="SetMimeHeader">
+          <name>X-UserIsAuth</name>
+          <value>true</value>
+       </mailet>
+    
+       <mailet match="HasMailAttribute=org.apache.james.SMIMECheckSignature" class="SetMimeHeader">
+          <name>X-WasSigned</name>
+          <value>true</value>
+       </mailet>
+
+       <!-- Add a server-side signature -->
+       <!--
+       <mailet match="All" class="SMIMESign" onMailetException="ignore">
+          <keyStoreType>jks</keyStoreType>
+          <keyStoreFileName>path.keystore</keyStoreFileName>
+          <keyStorePassword>myKeyStorePass</keyStorePassword>
+          <keyAlias>myKeyAlias</keyAlias>
+          <keyAliasPassword>myKeyPass</keyAliasPassword>
+          <signerName>XXX Trusted Server</signerName>
+          <rebuildFrom>true</rebuildFrom>
+          <postmasterSigns>true</postmasterSigns>
+          <debug>true</debug>
+       </mailet>
+         -->
+
+       <!-- Experimental quota Matcher -->
+       <!-- This matcher need to calculate the mailbox size everytime it is called. This
can slow down things if there are many mails in -->
+       <!-- the mailbox. Some users also report big problems with the matcher if a JDBC
based mailrepository is used. -->
+       <!-- Check if over quota -->
+       <!-- 
+       <mailet match="RecipientIsOverFixedQuota=20M" class="Resend">
+          <sender>postmaster</sender>
+          <replyTo>postmaster</replyTo>
+          <reversePath>null</reversePath>
+          <inline>none</inline>
+          <attachment>message</attachment>
+          <prefix>[OVER QUOTA WARNING]</prefix>
+          <message>
+When receiving the attached message, your mailbox is larger than 20 MB, which is the maximum
allowed quota. The mailbox will not be blocked, but we ask you to empty it ASAP.
+
+It is likely that you have set, in your mail client account, the option "leave a copy of
messages on server". For any help ask your administrators.
+
+Regards, Postmaster XXX.YYY
+.....................................
+          </message>
+       </mailet>
+         -->
+
+       <!--  The RecipientRewriteTable will use the definitions found in recipientrewritetablexml
-->
+         <mailet match="All" class="RecipientRewriteTable" />
+        
+         <!-- Place a copy in the user Sent folder -->
+         <mailet match="SenderIsLocal" class="ToSenderFolder">
+           <folder>Sent</folder>
+           <consume>false</consume>
+         </mailet>
+    
+       <!-- 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 -->
+       <mailet match="HostIsLocal" class="ToProcessor">
+          <processor>local-address-error</processor>
+          <notice>550 - Requested action not taken: no such user here</notice>
+       </mailet>
+
+<!-- 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. See also<authorizedAddresses>in SMTP Server
-->
+       <!-- -->
+       <!-- 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>relay-denied</processor>
+          <notice>550 - Requested action not taken: relaying denied</notice>
+       </mailet>
+
+       <!-- 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">
+          <outgoingQueue>outgoing</outgoingQueue>
+
+          <!-- Delivery Schedule based upon RFC 2821, 4.5.4.1 -->
+          <!-- 5 day retry period, with 4 attempts in the first
+                 hour, two more within the first 6 hours, and then
+                 every 6 hours for the rest of the period.
+                 This format is not yet supported, instead, use a unique
+                 tag with the list of delays in milliseconds separated by commas.
+          <delayTime>5 minutes</delayTime>
+          <delayTime>10 minutes</delayTime>
+          <delayTime>45 minutes</delayTime>
+          <delayTime>2 hours</delayTime>
+          <delayTime>3 hours</delayTime>
+          <delayTime>6 hours</delayTime>
+          -->
+          <delayTime>5000, 100000, 500000</delayTime>
+          <maxRetries>1</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>10</deliveryThreads>
+
+          <!-- If false the message will not be sent to given server if any recipients
fail -->
+          <sendpartial>true</sendpartial>
+            
+          <!-- By default we send bounces to the "bounce" processor -->
+          <!-- By removing this configuration James will fallback to hardcoded bounce
-->
+          <!-- notifications -->
+          <bounceProcessor>bounces</bounceProcessor>
+
+          <!-- 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. -->
+          <!-- Although normally multiple addresses are implemented through proper -->
+          <!-- DNS configuration, the RemoteDelivery mail does allow specifying -->
+          <!-- multiple gateway elements, each of which may also have a port -->
+          <!-- e.g., mygateway:2525 -->
+          <!-- the gatewayPort element is used as a default -->
+          <!--
+          <gateway>otherserver.mydomain.com</gateway>
+          <gatewayPort>25</gatewayPort>
+            -->
+          <!-- If the gateway requires smtp authentication the following directives -->
+          <!-- (gatewayUsername/gatewayPassword) can be used. -->
+          <!--
+          <gatewayUsername>login</gatewayUsername>
+          <gatewayPassword>pass</gatewayPassword>
+            -->
+            
+          <!-- Set the HELO/EHLO name to use when connectiong to remote SMTP-Server -->
+          <!--
+          <mail.smtp.localhost>myMailServer</mail.smtp.localhost>
+            -->
+       </mailet>
+
     </processor>
 
+    <!-- Processor CONFIGURATION SAMPLE: spam is a sample custom processor for handling
-->
+    <!-- spam. -->
+    <!-- You can either log these, bounce these, or just ignore them. -->
     <processor state="spam" enableJmx="true">
-      <mailet match="All" class="ToRepository">
-        <repositoryPath>file://var/mail/spam/</repositoryPath>
-      </mailet>
+     
+       <!-- To place the spam messages in the user junk folder, uncomment this matcher/mailet
configuration -->
+       <!--
+       <mailet match="RecipientIsLocal" class="ToRecipientFolder">
+           <folder>Junk</folder>
+           <consume>false</consume>
+       </mailet>
+        -->
+
+       <!-- 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="Bounce"/>
+         -->
+
+       <!-- To notify the postmaster that a message was marked as spam, uncomment this
matcher/mailet configuration -->
+       <!--
+       <mailet match="All" class="NotifyPostmaster"/>
+         -->
+
+       <!-- 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>
+
+          <!-- 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>
 
+    <!-- messages containing viruses. -->
+    <processor state="virus" enableJmx="true">
+      
+       <!-- To avoid a loop while bouncing -->
+       <mailet match="All" class="SetMailAttribute">
+          <org.apache.james.infected>true, bouncing</org.apache.james.infected>
+       </mailet>
+
+       <!-- If the sender is authenticated, notify the infection -->
+       <mailet match="SMTPAuthSuccessful" class="Bounce">
+          <inline>heads</inline>
+          <attachment>none</attachment>
+          <notice>Warning: We were unable to deliver the message below because it was
found infected by virus(es).</notice>
+       </mailet>
+
+       <!-- In any other situation ghost it, -->
+       <!-- as viruses almost always spoof the sender's address -->
+       <mailet match="All" class="Null" />
+    </processor>
+
+    <!-- This processor handles messages that are for local domains, where the user is
unknown -->
     <processor state="local-address-error" enableJmx="true">
-      <mailet match="All" class="ToRepository">
-        <repositoryPath>file://var/mail/address-error/</repositoryPath>
-      </mailet>
+       <!-- To avoid bouncing/archiving spam, uncomment this matcher/mailet configuration
-->
+       <!--
+       <mailet match="HasMailAttribute=isSpam" class="Null" onMatchException="noMatch"/>
+         -->
+
+       <!-- To notify the sender the address was invalid, uncomment this matcher/mailet
configuration -->
+       <!-- The original message is not attached to keep the bounce processor from deliverying
spam -->
+       <!--
+       <mailet match="All" class="Bounce">
+          <attachment>none</attachment>
+       </mailet>
+         -->
+
+       <!-- To notify the postmaster that a message had an invalid address, uncomment
this matcher/mailet configuration -->
+       <!--
+       <mailet match="All" class="NotifyPostmaster"/>
+         -->
+
+       <mailet match="All" class="ToRepository">
+          <repositoryPath>file://var/mail/address-error/</repositoryPath>
+          <!-- An alternative database repository example follows. -->
+          <!--
+          <repositoryPath>db://maildb/deadletter/address-error</repositoryPath>
+            -->
+       </mailet>
     </processor>
 
+    <!-- This processor handles messages that are for foreign domains, where relaying
is denied -->
+    <!-- As of James v2.2, this processor can be deprecated by using the<authorizedAddresses>tag
+           in the SMTP Server, and rejecting the message in the protocol transaction.  -->
     <processor state="relay-denied" enableJmx="true">
-      <mailet match="All" class="ToRepository">
-        <repositoryPath>file://var/mail/relay-denied/</repositoryPath>
-      </mailet>
+       <!-- To notify the sender the address was invalid, uncomment this matcher/mailet
configuration -->
+       <!-- The original message is not attached to keep the bounce processor from deliverying
spam -->
+       <!--
+       <mailet match="All" class="Bounce">
+          <attachment>none</attachment>
+       </mailet>
+         -->
+
+       <!-- To notify the postmaster that a relay request was denied, uncomment this matcher/mailet
configuration -->
+       <!--
+       <mailet match="All" class="NotifyPostmaster"/>
+         -->
+
+       <mailet match="All" class="ToRepository">
+          <repositoryPath>file://var/mail/relay-denied/</repositoryPath>
+          <!-- An alternative database repository example follows. -->
+          <!--
+          <repositoryPath>db://maildb/deadletter/relay-denied</repositoryPath>
+            -->
+       </mailet>
     </processor>
 
+    <!-- This processor handle the bounces from RemoteDelivery: As of James v2.3, this
is the new -->
+    <!-- Default. -->
+    <!-- -->
+    <!-- DSNBounce properly create a DSN compliant bounce -->
     <processor state="bounces" enableJmx="true">
-      <mailet match="All" class="DSNBounce">
-          <prefix>[BOUNCE] </prefix>
-          <attachment>message</attachment>
-          <debug>true</debug>
-        <passThrough>false</passThrough>
-      </mailet>
+       <mailet match="All" class="DSNBounce">
+          <passThrough>false</passThrough>
+
+          <!-- optional subject prefix prepended to the original message -->
+          <!--
+          <prefix>[bounce]</prefix>
+            -->
+            
+          <!-- message, heads or none, default=message -->
+          <!--
+          <attachment>heads</attachment>
+            -->
+            
+          <!-- the message sent in the bounce, the first occurrence of the pattern [machine]
is -->
+          <!-- replaced with the name of the executing machine -->
+          <!-- Default: Hi. This is the James mail server at [machine] ... -->
+          <!--
+          <messageString>Here is [machine]. I'm not able to deliver this message.</messageString>
+            -->
+        </mailet>
     </processor>
-    
+
   </processors>
 
 </mailetcontainer>

Modified: james/server/trunk/app/src/test/resources/pop3server.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/app/src/test/resources/pop3server.xml?rev=1554824&r1=1554823&r2=1554824&view=diff
==============================================================================
--- james/server/trunk/app/src/test/resources/pop3server.xml (original)
+++ james/server/trunk/app/src/test/resources/pop3server.xml Thu Jan  2 15:07:39 2014
@@ -19,11 +19,9 @@
  -->
  
 <!--
-   This template file can be used as example for James Server configuration
-   DO NOT USE IT AS SUCH AND ADAPT IT TO YOUR NEEDS
+   Configuration file used to run a local James server from the IDE.
+   See http://james.apache.org/server/3/config.html for usage.
 -->
- 
-<!-- See http://james.apache.org/server/3/config.html for usage -->
 
 <pop3servers>
 

Modified: james/server/trunk/app/src/test/resources/smtpserver.xml
URL: http://svn.apache.org/viewvc/james/server/trunk/app/src/test/resources/smtpserver.xml?rev=1554824&r1=1554823&r2=1554824&view=diff
==============================================================================
--- james/server/trunk/app/src/test/resources/smtpserver.xml (original)
+++ james/server/trunk/app/src/test/resources/smtpserver.xml Thu Jan  2 15:07:39 2014
@@ -17,7 +17,10 @@
   under the License.                                           
  -->
 
-<!-- See http://james.apache.org/server/3/config.html for usage -->
+<!--
+   Configuration file used to run a local James server from the IDE.
+   See http://james.apache.org/server/3/config.html for usage.
+-->
 
 <smtpservers>
   <smtpserver enabled="true">
@@ -43,4 +46,3 @@
     </handlerchain>            
   </smtpserver>
 </smtpservers>
-



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


Mime
View raw message