You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by ba...@apache.org on 2007/03/22 20:57:23 UTC

svn commit: r521427 [7/9] - in /james/server/trunk: ./ build-tools/ core-library/ core-library/src/ core-library/src/main/ core-library/src/main/config/ core-library/src/main/java/ core-library/src/main/java/org/ core-library/src/main/java/org/apache/ ...

Added: james/server/trunk/phoenix-deployment/www/provided_matchers.html
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/provided_matchers.html?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/provided_matchers.html (added)
+++ james/server/trunk/phoenix-deployment/www/provided_matchers.html Thu Mar 22 12:57:00 2007
@@ -0,0 +1,844 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>Apache James - Mail and News server - James 2.3 - Provided Matchers</title>
+<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet"/>
+</head>
+<body>
+<table cellspacing="0" width="100%" border="0" class="page-header">
+<!--PAGE HEADER-->
+<tr>
+<td colspan="2">
+<!--ASF LOGO-->
+<a href="http://www.apache.org/">
+<img border="0" alt="The ASF" align="left" src="http://www.apache.org/images/asf_logo_wide.gif"/>
+</a>
+<!--PROJECT LOGO-->
+<a href="http://james.apache.org/">
+<img border="0" alt="James - Java Apache Mail Enterprise Server" align="right" src="./images/james-logo.jpg"/>
+</a>
+</td>
+</tr>
+</table>
+<table cellspacing="4" width="100%" border="0">
+<tr>
+<!--LEFT SIDE NAVIGATION-->
+<td nowrap="true" valign="top" class="left-navbar">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td>
+<a href="http://apachecon.com">
+<img border="0" alt="ApacheCon Promotion" align="left" src="http://www.apache.org/ads/ApacheCon/234x60-2006-us.gif"/>
+</a>
+</td>
+</tr>
+</table>
+<navbar name="lhs">
+
+    <p>
+<strong>Concepts</strong>
+</p>
+<ul>
+<li>
+<a href="./summary.html">Summary</a>
+</li>
+<li>
+<a href="./spoolmanager.html">SpoolManager</a>
+</li>
+<li>
+<a href="./repositories.html">Repositories</a>
+</li>
+<li>
+<a href="./mailet_api.html">The Mailet API</a>
+</li>
+</ul>
+    
+    <p>
+<strong>How to...</strong>
+</p>
+<ul>
+<li>
+<a href="./build_instructions.html">Build James</a>
+</li>
+<li>
+<a href="./installation_instructions.html">Install James</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Configuration</strong>
+</p>
+<ul>
+<li>
+<a href="./dns_configuration.html">DNS Server</a>
+</li>
+<li>
+<a href="./pop3_configuration.html">POP3 Server</a>
+</li>
+<li>
+<a href="./smtp_configuration.html">SMTP Server</a>
+</li>
+<li>
+<a href="./nntp_configuration.html">NNTP Server</a>
+</li>
+<li>
+<a href="./fetchmail_configuration.html">FetchMail</a>
+</li>
+<li>
+<a href="./remotemanager_configuration.html">RemoteManager</a>
+</li>
+<li>
+<a href="./spoolmanager_configuration.html">SpoolManager</a>
+</li>
+<li>
+<a href="./serverwide_configuration.html">Server-wide</a>
+</li>
+<li>
+<a href="./adding_users.html">Adding Users</a>
+</li>
+<li>
+<a href="./provided_matchers.html">Provided Matchers</a>
+</li>
+<li>
+<a href="./provided_mailets.html">Provided Mailets</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Common Configurations</strong>
+</p>
+<ul>
+<li>
+<a href="./smtp_auth.html">Using SMTP AUTH</a>
+</li>
+<li>
+<a href="./using_database.html">Using a Database with James</a>
+</li>
+<li>
+<a href="./usingTLS.html">Using TLS/SSL</a>
+</li>
+<li>
+<a href="./james_and_sendmail.html">James and Sendmail</a>
+</li>
+<li>
+<a href="./mailing_lists.html">Creating Mailing Lists</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Customization</strong>
+</p>
+<ul>
+<li>
+<a href="./custom_matcher.html">How to write a custom Matcher</a>
+</li>
+<li>
+<a href="./custom_mailet.html">How to write a custom Mailet</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Project</strong>
+</p>
+<ul>
+<li>
+<a href="./changelog.html">Changelog</a>
+</li>
+</ul>
+
+   </navbar>
+</td>
+<!--MAIN BODY-->
+<td align="left" valign="top" class="main-body">
+<div class="section">
+<div class="section-header">
+<a name="Matchers">
+<strong>Matchers</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+
+<p>James provides a number of implemented Matchers for use by James administrators in their 
+configurations.  These are primarily matchers that members of the James developer or user 
+communities have found useful in their own configurations.  A description of how to configure 
+Matchers and use them in the James SpoolManager can be found <a href="spoolmanager_configuration.html">here</a>.</p>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="All">
+<strong>All</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: This matcher is the trivial one - it matches all mails being processed. All recipients are returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="AttachmentFileNameIs">
+<strong>AttachmentFileNameIs</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: It can be used to refuse emails with SCR, PIF, EXE etc. attachments.
+It matches mails that has a file attachment with a file name meeting one of the supplied filters.
+All recipients are returned.</p>
+<p>Configuration string: A comma or space delimited list of file names. 
+File names may start with a wildcard '*'. Example: *.scr,*.bat,*.pif,*.pi,*.com,*.exe
+<pre>
+<code>
+&lt;mailet match="AttachmentFileNameIs=value, value, .." class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="CommandForListserv">
+<strong>CommandForListserv</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: The CommandForListserv matcher is used as a simple filter to recognize emails that are list server 
+commands.  It will match any email addressed to the list server host, as well as any email that is addressed
+to a user named &lt;prefix&gt;-on or &lt;prefix&gt;-off on any host.  Only those matching recipients will be returned.</p>
+<p>Configuration string: An email address of the form &lt;prefix&gt;@&lt;host&gt;, where host is the hostname used for the listserver and prefix is the command prefix.
+<pre>
+<code>
+&lt;mailet match="CommandForListserv=james-on@list.working-dogs.com" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="CommandForListservManager">
+<strong>CommandForListservManager</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: CommandListservMatcher is the matcher that pairs with the CommandListservManager mailet. It checks to see if the request is 
+intended for the ListservManager, but doesn't guarantee that it is a valid command.  Only those matching recipients will be returned.</p>
+<p>Configuration string: An email address.
+<pre>
+<code>
+&lt;mailet match="CommandForListservManager=announce@localhost" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="CompareNumericHeaderValue">
+<strong>CompareNumericHeaderValue</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails containing a header with a numeric value whose comparison with the specified value is true.
+If the header is missing in the message, there will be <i>no match</i>. All recipients are returned.</p>
+<p>Configuration string: The headerName, a comparison operator and the numeric headerValue
+to compare with, <i>space or tab delimited</i>.
+<pre>
+<code>
+&lt;mailet match="CompareNumericHeaderValue= X-MessageIsSpamProbability &gt; 0.9" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="FetchedFrom">
+<strong>FetchedFrom</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: A matcher intended for use with the FetchMail server.  It matches a custom header (X-fetched-from) that is 
+set by the FetchMail server.  FetchMail sets this header to the name of the FetchPOP task which originally fetched
+the message.  All recipients are returned.</p>
+<p>Configuration string: The name of the FetchMail task which originally fetched the message.
+<pre>
+<code>
+&lt;mailet match="FetchedFrom=value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="FileRegexMatcher">
+<strong>FileRegexMatcher</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: A matcher which can be used to match on a attachment when the given regex match. All recipients are returned.</p>
+<p>Configuration string: A regex for match attachmentname.
+<pre>
+<code>
+&lt;mailet match="FileRegexMatcher=value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="HasAttachment">
+<strong>HasAttachment</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches those messages with a MIME type of "multipart/mixed".  All recipients are returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="HasHabeasWarrantMark">
+<strong>HasHabeasWarrantMark</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that have the Habeas Warrant (see http://www.habeas.com for details).  All recipients are returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="HasHeader">
+<strong>HasHeader</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that have the specified header.  All recipients are returned.</p>
+<p>Configuration string: The name of the header whose presence determines the match.
+<pre>
+<code>
+&lt;mailet match="HasHeader=value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="HasMailAttribute">
+<strong>HasMailAttribute</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that have the specified Mail Attribute.  All 
+recipients are returned.</p>
+<p>Configuration string: The name of the Mail Attribute to match. For example:<br/>
+<pre>
+<code>
+&lt;mailet match="HasMailAttribute=name" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="HasMailAttributeWithValue">
+<strong>HasMailAttributeWithValue</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that have the specified Mail Attribute and the
+specified MailAttribute value. All recipients are returned.</p>
+<p>MailAttributes are types of Object whereas the value specified in the Matcher
+condition is of type String. The toString() method is used to obtain a String
+representation of the Mail Attribute value for matching. The 
+String.equals(String) method tests for a match.</p>
+<p>Configuration string: The name of the Mail Attribute to be matched,  a comma
+and then the String value to be matched. For example:<br/>
+<pre>
+<code>
+&lt;mailet match="HasMailAttributeWithValue=name, value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="HasMailAttributeWithValueRegex">
+<strong>HasMailAttributeWithValueRegex</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that have the specified Mail Attribute and 
+a MailAttribute value that matches the specified regular expression.
+All recipients are returned.</p>
+<p>MailAttributes are types of Object whereas the value specified in the Matcher
+condition is of type String. The toString() method is used to obtain a String
+representation of the Mail Attribute value for matching. The regular
+expression must follow Perl5 syntax.</p>
+<p>Configuration string: The name of the Mail Attribute to be matched,  a comma
+and then the regular expression used to match the value against. For example:<br/>
+<pre>
+<code>
+&lt;mailet match="HasMailAttributeWithValueRegex=name, regex" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="HostIs">
+<strong>HostIs</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are sent to email addresses on hosts that are in the configuration list.  Only 
+recipients that are on one of the hosts are returned.</p>
+<p>Configuration string: A list of host names, comma or space delimited.
+<pre>
+<code>
+&lt;mailet match="HostIs=value, value, .." class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="HostIsLocal">
+<strong>HostIsLocal</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are sent to email addresses on local hosts.  Only 
+recipients that are on one of the local hosts are returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="InSpammerBlacklist">
+<strong>InSpammerBlacklist</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Checks the mail against one of a number of mail-abuse.org IP lists. All recipients are returned</p>
+<p>Configuration string: One of three strings - "blackholes.mail-abuse.org", "relays.mail-abuse.org", or "dialups.mail-abuse.org".</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="IsInWhiteList">
+<strong>IsInWhiteList</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches recipients having the mail sender in the recipient's private whitelist.
+The recipient name is always converted to its primary name (handling aliases).</p>
+<p>Configuration string: The database name containing the white list table.</p>
+<pre>
+<code>
+&lt;mailet match="IsInWhiteList=db://maildb" class="ToProcessor"&gt;
+  &lt;processor&gt; transport &lt;/processor&gt;
+&lt;/mailet&gt;
+</code>
+</pre>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="IsSingleRecipient">
+<strong>IsSingleRecipient</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches those messages sent to only a single recipient.  The single recipient is returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="NESSpamCheck">
+<strong>NESSpamCheck</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: A matcher derived from a Netscape Mail Server spam filter.  If the matcher detects headers that 
+indicate spam, the message is matched.  All recipients are returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="RecipientIs">
+<strong>RecipientIs</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are sent to one of the recipients on a specified list.  Only 
+matching recipients are returned.</p>
+<p>Configuration string: A list of recipient addresses, comma, tab, or space delimited.
+<pre>
+<code>
+&lt;mailet match="RecipientIs=value, value, .." class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="RecipientIsLocal">
+<strong>RecipientIsLocal</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are sent to email addresses on local hosts with users that have local acccunts.  Only 
+matching recipients are returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="RecipientIsOverFixedQuota">
+<strong>RecipientIsOverFixedQuota</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are send to email addresses which are over the given quota. Only 
+matching recipients are returned.</p>
+<p>Configuration string: The quota
+<pre>
+<code>
+&lt;mailet match="RecipientIsOverFixedQuota=10m" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="RecipientIsRegex">
+<strong>RecipientIsRegex</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are send to email addresses which are matched given regex. Only 
+matching recipients are returned.</p>
+<p>Configuration string: The quota
+<pre>
+<code>
+&lt;mailet match="RecipientIsRegex=value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="RelayLimit">
+<strong>RelayLimit</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Counts the number of Received headers in the mail (each of which represents a server 
+in the relay chain).  If the number equals or exceeds the specified limit, the mail is 
+matched.  All recipients are returned.</p>
+<p>Configuration string: a positive integer that is the limit on the number of relays.
+<pre>
+<code>
+&lt;mailet match="RelayLimit=value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="RemoteAddrInNetwork">
+<strong>RemoteAddrInNetwork</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Checks the remote address from which the mail was received against the configured list.  If the address matches one on the list, the matcher considers it a match.  
+All recipients are returned.</p>
+<p>Configuration string: A list of domain names, IP addresses, or wildcarded IP subnets of any class.  The 
+list may be comma or space delimited.
+<pre>
+<code>
+&lt;mailet match="RemoteAddrInNetwork=value, value, .." class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="RemoteAddrNotInNetwork">
+<strong>RemoteAddrNotInNetwork</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Checks the remote address from which the mail was received against the configured list.  If the address doesn't match one on the list, the matcher considers it a match. 
+All recipients are returned.</p>
+<p>Configuration string: A list of domain names, IP addresses, or wildcarded IP subnets of any class.  The 
+list may be comma or space delimited.
+<pre>
+<code>
+&lt;mailet match="RemoteAddrNotInNetwork=value, value, .." class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SenderHostIs">
+<strong>SenderHostIs</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails where the host name in the address of the sender cannot be resolved.  All 
+recipients are returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SenderInFakeDomain">
+<strong>SenderInFakeDomain</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails where the host name in the address of the sender cannot be resolved.  All 
+recipients are returned.</p>
+<p>Configuration string: None.</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SenderIs">
+<strong>SenderIs</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are sent by one of the senders on a specified list.  All 
+recipients are returned.</p>
+<p>Configuration string: A list of sender addresses, comma, tab, or space delimited.
+<pre>
+<code>
+&lt;mailet match="SenderIs=value, value, .." class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SenderIsNull">
+<strong>SenderIsNull</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are sent by a null sender.</p>
+<p>Configuration string: none.
+<pre>
+<code>
+&lt;mailet match="SenderIsNull" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SenderIsRegex">
+<strong>SenderIsRegex</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are sent by one of the senders matched the given regex.
+All recipients are returned.</p>
+<p>Configuration string: A regex.
+<pre>
+<code>
+&lt;mailet match="SenderIsRegex=value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SizeGreaterThan">
+<strong>SizeGreaterThan</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches emails with a total message size (headers and body) greater than the specified limit.  
+All recipients are returned.</p>
+<p>Configuration string: a positive integer followed by an 'm' or a 'k'.  This is the maximum message size permitted 
+specified in megabytes or kilobytes respectively.
+<pre>
+<code>
+&lt;mailet match="SizeGreaterThan=1m" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SMTPAuthSuccessful">
+<strong>SMTPAuthSuccessful</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are send from an authorized sender. All recipients are returned.</p>
+<p>Configuration string: none.
+<pre>
+<code>
+&lt;mailet match="SMTPAuthSuccessful" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SMTPAuthUserIs">
+<strong>SMTPAuthUserIs</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are send from one of the given authorized senders. All recipients are returned.</p>
+<p>Configuration string: none.
+<pre>
+<code>
+&lt;mailet match="SMTPAuthUserIs=value, value, .." class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SubjectIs">
+<strong>SubjectIs</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches emails with the specified subject.  All recipients are returned.</p>
+<p>Configuration string: The string against which mail subject headers are matched.
+<pre>
+<code>
+&lt;mailet match="SubjectIs=value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="SubjectStartsWith">
+<strong>SubjectStartsWith</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches emails whose subject header starts with the specified string.  All recipients are returned.</p>
+<p>Configuration string: The string against which mail subject headers are matched.
+<pre>
+<code>
+&lt;mailet match="SubjectStartsWith=value" class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="UserIs">
+<strong>UserIs</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Description: Matches mails that are sent to email addresses that have userids that are in the configuration list.  Only 
+matching recipients are returned.</p>
+<p>Configuration string: A list of user names, comma or space delimited.
+<pre>
+<code>
+&lt;mailet match="UserIs=value, value, .." class="&lt;any-class&gt;"&gt;
+</code>
+</pre>
+</p>
+</div>
+</div>
+
+</div>
+</p>
+</div>
+</td>
+</tr>
+<!--FOOTER SEPARATOR-->
+<tr>
+<td colspan="2">
+<hr size="1" noshade=""/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<div class="page-footer">
+<em>
+        Copyright © 1999-2006, The Apache Software Foundation
+        </em>
+</div>
+</td>
+</tr>
+</table>
+</body>
+</html>

Added: james/server/trunk/phoenix-deployment/www/remotemanager_configuration.html
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/remotemanager_configuration.html?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/remotemanager_configuration.html (added)
+++ james/server/trunk/phoenix-deployment/www/remotemanager_configuration.html Thu Mar 22 12:57:00 2007
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>Apache James - Mail and News server - James 2.3 - Configuring the RemoteManager</title>
+<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet"/>
+</head>
+<body>
+<table cellspacing="0" width="100%" border="0" class="page-header">
+<!--PAGE HEADER-->
+<tr>
+<td colspan="2">
+<!--ASF LOGO-->
+<a href="http://www.apache.org/">
+<img border="0" alt="The ASF" align="left" src="http://www.apache.org/images/asf_logo_wide.gif"/>
+</a>
+<!--PROJECT LOGO-->
+<a href="http://james.apache.org/">
+<img border="0" alt="James - Java Apache Mail Enterprise Server" align="right" src="./images/james-logo.jpg"/>
+</a>
+</td>
+</tr>
+</table>
+<table cellspacing="4" width="100%" border="0">
+<tr>
+<!--LEFT SIDE NAVIGATION-->
+<td nowrap="true" valign="top" class="left-navbar">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td>
+<a href="http://apachecon.com">
+<img border="0" alt="ApacheCon Promotion" align="left" src="http://www.apache.org/ads/ApacheCon/234x60-2006-us.gif"/>
+</a>
+</td>
+</tr>
+</table>
+<navbar name="lhs">
+
+    <p>
+<strong>Concepts</strong>
+</p>
+<ul>
+<li>
+<a href="./summary.html">Summary</a>
+</li>
+<li>
+<a href="./spoolmanager.html">SpoolManager</a>
+</li>
+<li>
+<a href="./repositories.html">Repositories</a>
+</li>
+<li>
+<a href="./mailet_api.html">The Mailet API</a>
+</li>
+</ul>
+    
+    <p>
+<strong>How to...</strong>
+</p>
+<ul>
+<li>
+<a href="./build_instructions.html">Build James</a>
+</li>
+<li>
+<a href="./installation_instructions.html">Install James</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Configuration</strong>
+</p>
+<ul>
+<li>
+<a href="./dns_configuration.html">DNS Server</a>
+</li>
+<li>
+<a href="./pop3_configuration.html">POP3 Server</a>
+</li>
+<li>
+<a href="./smtp_configuration.html">SMTP Server</a>
+</li>
+<li>
+<a href="./nntp_configuration.html">NNTP Server</a>
+</li>
+<li>
+<a href="./fetchmail_configuration.html">FetchMail</a>
+</li>
+<li>
+<a href="./remotemanager_configuration.html">RemoteManager</a>
+</li>
+<li>
+<a href="./spoolmanager_configuration.html">SpoolManager</a>
+</li>
+<li>
+<a href="./serverwide_configuration.html">Server-wide</a>
+</li>
+<li>
+<a href="./adding_users.html">Adding Users</a>
+</li>
+<li>
+<a href="./provided_matchers.html">Provided Matchers</a>
+</li>
+<li>
+<a href="./provided_mailets.html">Provided Mailets</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Common Configurations</strong>
+</p>
+<ul>
+<li>
+<a href="./smtp_auth.html">Using SMTP AUTH</a>
+</li>
+<li>
+<a href="./using_database.html">Using a Database with James</a>
+</li>
+<li>
+<a href="./usingTLS.html">Using TLS/SSL</a>
+</li>
+<li>
+<a href="./james_and_sendmail.html">James and Sendmail</a>
+</li>
+<li>
+<a href="./mailing_lists.html">Creating Mailing Lists</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Customization</strong>
+</p>
+<ul>
+<li>
+<a href="./custom_matcher.html">How to write a custom Matcher</a>
+</li>
+<li>
+<a href="./custom_mailet.html">How to write a custom Mailet</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Project</strong>
+</p>
+<ul>
+<li>
+<a href="./changelog.html">Changelog</a>
+</li>
+</ul>
+
+   </navbar>
+</td>
+<!--MAIN BODY-->
+<td align="left" valign="top" class="main-body">
+<div class="section">
+<div class="section-header">
+<a name="RemoteManager Configuration">
+<strong>RemoteManager Configuration</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+<p>The RemoteManager is controlled by a configuration block in the config.xml.
+The remotemanager tag defines the boundaries of the configuration block.  It encloses 
+all the relevant configuration for the RemoteManager.  The behavior of the RemoteManager is
+controlled by the attributes and children of this tag.</p>
+
+<p>This tag has an optional boolean attribute - <strong>enabled</strong> - that defines whether the service is active or not.  The value defaults to "true" if
+not present.</p>
+<p>The standard children of the remotemanager tag are:</p>
+<ul>
+<li>
+<strong>port</strong> - This is an optional integer value.  This value is the port on which this POP3 server is configured 
+to listen.If the tag or value is omitted, the value will default to 4555.</li>
+<li>
+<strong>bind</strong> - This is an optional value.  If present, this value is a string describing 
+the IP address to which this service should be bound.  If the tag or value is absent then the service 
+will bind to all network interfaces for the machine.</li>
+<li>
+<strong>useTLS</strong> - This is an optional boolean value.  If this value is true, then the "ssl"
+server socket factory is used to generate the server socket for this service.  If it is false, the 
+"plain" server socket factory is used.  In either case this behavior is overridden by the serverSocketType 
+tag which is described under the expert configuration options.</li>
+<li>
+<strong>handler</strong> - This is an artifact preserved for backwards compatibility.  This tag 
+was used to group related parameters.  It should disappear in future versions.</li>
+<ul>
+<li>
+<strong>helloName</strong> - This is a required tag with an optional body that defines the server name 
+used in the initial service greeting.  The tag may have an optional attribute - <strong>autodetect</strong>.  If 
+the autodetect attribute is present and true, the service will use the local hostname
+returned by the Java libraries.  If autodetect is absent or false, the body of the tag will be used.  In
+this case, if no body is present, the value "localhost" will be used.</li>
+<li>
+<strong>administrator_accounts</strong> - This is an required container tag.  It contains 
+one or more <strong>administrator_account</strong> elements, each of which has a <strong>login</strong> attribute 
+and a <strong>password</strong> attribute.  These two attributes correspond to the login id and password for the 
+administrative account respectively.  Obviously, for security reasons, these should be set upon James installation.</li>
+<li>
+<strong>connectionTimeout</strong> - This is an optional tag with an integer body.  </li>
+</ul>
+</ul>
+<p>There are a few additional children of the pop3server tag that are appropriate for advanced 
+configurations.  These should only be used by expert administrators.  All tags in this group are optional.</p>
+<ul>
+<li>
+<strong>serverSocketFactory</strong> - This is an optional tag with a string body.  If the tag is present, 
+the body must be the name of one of the server socket factories specified in the socket manager block.  Any other 
+value will result in an error.  If present, this tag overrides the useTLS tag.</li>
+<li>
+<strong>threadGroup</strong> - This is an optional tag with a string body.  If the tag is present, 
+the body must be the name of one of the thread groups specified in the thread manager block.  Any other 
+value will result in an error.  This tag is best used to fine tune thread allocation between the services.</li>
+<li>
+<strong>connectionLimit</strong> - The connectionLimit parameter specifies the maximum number of client 
+connections that this service will allow.  If no value is specified, the value defaults to that specified in 
+the connectionmanager block.  A value of 0 means that there is no limit imposed 
+by the service, although resource limitations imposed by other components 
+(i.e. max # of threads) may serve to limit the number of open connections.</li>
+</ul>
+</div>
+</p>
+</div>
+</td>
+</tr>
+<!--FOOTER SEPARATOR-->
+<tr>
+<td colspan="2">
+<hr size="1" noshade=""/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<div class="page-footer">
+<em>
+        Copyright © 1999-2006, The Apache Software Foundation
+        </em>
+</div>
+</td>
+</tr>
+</table>
+</body>
+</html>

Added: james/server/trunk/phoenix-deployment/www/repositories.html
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/repositories.html?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/repositories.html (added)
+++ james/server/trunk/phoenix-deployment/www/repositories.html Thu Mar 22 12:57:00 2007
@@ -0,0 +1,270 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>Apache James - Mail and News server - Repositories</title>
+<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet"/>
+</head>
+<body>
+<table cellspacing="0" width="100%" border="0" class="page-header">
+<!--PAGE HEADER-->
+<tr>
+<td colspan="2">
+<!--ASF LOGO-->
+<a href="http://www.apache.org/">
+<img border="0" alt="The ASF" align="left" src="http://www.apache.org/images/asf_logo_wide.gif"/>
+</a>
+<!--PROJECT LOGO-->
+<a href="http://james.apache.org/">
+<img border="0" alt="James - Java Apache Mail Enterprise Server" align="right" src="./images/james-logo.jpg"/>
+</a>
+</td>
+</tr>
+</table>
+<table cellspacing="4" width="100%" border="0">
+<tr>
+<!--LEFT SIDE NAVIGATION-->
+<td nowrap="true" valign="top" class="left-navbar">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td>
+<a href="http://apachecon.com">
+<img border="0" alt="ApacheCon Promotion" align="left" src="http://www.apache.org/ads/ApacheCon/234x60-2006-us.gif"/>
+</a>
+</td>
+</tr>
+</table>
+<navbar name="lhs">
+
+    <p>
+<strong>Concepts</strong>
+</p>
+<ul>
+<li>
+<a href="./summary.html">Summary</a>
+</li>
+<li>
+<a href="./spoolmanager.html">SpoolManager</a>
+</li>
+<li>
+<a href="./repositories.html">Repositories</a>
+</li>
+<li>
+<a href="./mailet_api.html">The Mailet API</a>
+</li>
+</ul>
+    
+    <p>
+<strong>How to...</strong>
+</p>
+<ul>
+<li>
+<a href="./build_instructions.html">Build James</a>
+</li>
+<li>
+<a href="./installation_instructions.html">Install James</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Configuration</strong>
+</p>
+<ul>
+<li>
+<a href="./dns_configuration.html">DNS Server</a>
+</li>
+<li>
+<a href="./pop3_configuration.html">POP3 Server</a>
+</li>
+<li>
+<a href="./smtp_configuration.html">SMTP Server</a>
+</li>
+<li>
+<a href="./nntp_configuration.html">NNTP Server</a>
+</li>
+<li>
+<a href="./fetchmail_configuration.html">FetchMail</a>
+</li>
+<li>
+<a href="./remotemanager_configuration.html">RemoteManager</a>
+</li>
+<li>
+<a href="./spoolmanager_configuration.html">SpoolManager</a>
+</li>
+<li>
+<a href="./serverwide_configuration.html">Server-wide</a>
+</li>
+<li>
+<a href="./adding_users.html">Adding Users</a>
+</li>
+<li>
+<a href="./provided_matchers.html">Provided Matchers</a>
+</li>
+<li>
+<a href="./provided_mailets.html">Provided Mailets</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Common Configurations</strong>
+</p>
+<ul>
+<li>
+<a href="./smtp_auth.html">Using SMTP AUTH</a>
+</li>
+<li>
+<a href="./using_database.html">Using a Database with James</a>
+</li>
+<li>
+<a href="./usingTLS.html">Using TLS/SSL</a>
+</li>
+<li>
+<a href="./james_and_sendmail.html">James and Sendmail</a>
+</li>
+<li>
+<a href="./mailing_lists.html">Creating Mailing Lists</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Customization</strong>
+</p>
+<ul>
+<li>
+<a href="./custom_matcher.html">How to write a custom Matcher</a>
+</li>
+<li>
+<a href="./custom_mailet.html">How to write a custom Mailet</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Project</strong>
+</p>
+<ul>
+<li>
+<a href="./changelog.html">Changelog</a>
+</li>
+</ul>
+
+   </navbar>
+</td>
+<!--MAIN BODY-->
+<td align="left" valign="top" class="main-body">
+<div class="section">
+<div class="section-header">
+<a name="Repositories">
+<strong>Repositories</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+
+<p>James uses a number of different repositories to both store message data (email, news messages) and 
+user information.  User repositories store user information, including user names, authentication 
+information, and aliases.  Mail repositories store messages that have been delivered locally.  Spool 
+repositories store messages that are still being processed.  Finally, news repositories are used to
+store news messages.</p>
+
+</div>
+</p>
+</div>
+<div class="section">
+<div class="section-header">
+<a name="Storage Types">
+<strong>Storage Types</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+
+<p>Aside from the type of data they store, repositories are distinguished by 
+where they store data.  There are three types of storage - File, Database, and DBFile.</p>
+<div class="subsection">
+<div class="subsection-header">
+<a name="File Repositories">
+<strong>File Repositories</strong>
+</a>
+</div>
+<div class="subsection-body">
+
+<p>File-based repositories store all data in the file system.  In general, these repositories are extremely
+simple to configure, but may compare poorly in terms of performance when compared to other repository
+types.  File repositories are not recommended for large or performance-critical configurations.  In the
+default configuration, all repositories are file repositories.</p>
+
+<p>File repository paths typically begin with the prefix "file".  Paths are relative to the application
+base directory, unless the path begins with a slash.  As an example, assume that James is running in 
+/usr/james/phoenix/apps/james.  Then "file://var/mail/spool/" would refer to the directory /usr/james/phoenix/apps/james/var/mail/spool.  
+And "file:///var/mail/spool/" (note the extra '/') would refer to the directory /var/mail/spool.</p>
+
+<p>All repository types (mail, spool, user, and news) have file-based implementations.  No special configuration is required to enable file-based repositories</p>
+
+</div>
+</div>
+<div class="subsection">
+<div class="subsection-header">
+<a name="Database (JDBC) Repositories">
+<strong>Database (JDBC) Repositories</strong>
+</a>
+</div>
+<div class="subsection-body">
+
+<p>Database repositories store all data in an administrator-supplied database.  Configuration is somewhat
+more complex, requiring that the administrator adjust the data-connections section.  Detailed directions 
+are included in the sample configuration file.  The administrator will need to know the JDBC driver class,
+the appropriate URL for use with his database, and a valid username/password for the database.</p>
+
+<p>If the administrator wants to configure a database other than MySQL, it will be necessary to add the jar 
+or zip file containing the JDBC driver classes to the lib subdirectory of the installation directory.  This
+will allow Phoenix to properly load the driver when it is initializing the database repository.  The MySQL
+driver is pre-packaged with James.</p>
+
+<p>Database repository paths typically begin with the prefix "db".  The format is "db://&lt;data-source&gt;/&lt;table&gt;" 
+where &lt;data-source&gt; is the name of the data-source defined in the data-connections section.  And &lt;table&gt; is 
+the particular table associated with the repository.</p>
+
+<p>Mail, spool, and user repositories have JDBC-based implementations.</p>
+
+</div>
+</div>
+<div class="subsection">
+<div class="subsection-header">
+<a name="DBFile Repositories">
+<strong>DBFile Repositories</strong>
+</a>
+</div>
+<div class="subsection-body">
+
+<p>This is a special repository type used only for mail repositories.  DBFile repositories store the body of
+a mail message in the file system, while headers are stored in the database.  This allows the administrator 
+to minimize the size of data stored in the database, while conserving most of the performance of the 
+database repository.</p>
+
+<p>Only mail repositories have dbfile-based implementations.</p>
+</div>
+</div>
+
+</div>
+</p>
+</div>
+</td>
+</tr>
+<!--FOOTER SEPARATOR-->
+<tr>
+<td colspan="2">
+<hr size="1" noshade=""/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<div class="page-footer">
+<em>
+        Copyright © 1999-2006, The Apache Software Foundation
+        </em>
+</div>
+</td>
+</tr>
+</table>
+</body>
+</html>

Added: james/server/trunk/phoenix-deployment/www/serverwide_configuration.html
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/serverwide_configuration.html?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/serverwide_configuration.html (added)
+++ james/server/trunk/phoenix-deployment/www/serverwide_configuration.html Thu Mar 22 12:57:00 2007
@@ -0,0 +1,297 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>Apache James - Mail and News server - James 2.3 - Global Server Configuration</title>
+<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet"/>
+</head>
+<body>
+<table cellspacing="0" width="100%" border="0" class="page-header">
+<!--PAGE HEADER-->
+<tr>
+<td colspan="2">
+<!--ASF LOGO-->
+<a href="http://www.apache.org/">
+<img border="0" alt="The ASF" align="left" src="http://www.apache.org/images/asf_logo_wide.gif"/>
+</a>
+<!--PROJECT LOGO-->
+<a href="http://james.apache.org/">
+<img border="0" alt="James - Java Apache Mail Enterprise Server" align="right" src="./images/james-logo.jpg"/>
+</a>
+</td>
+</tr>
+</table>
+<table cellspacing="4" width="100%" border="0">
+<tr>
+<!--LEFT SIDE NAVIGATION-->
+<td nowrap="true" valign="top" class="left-navbar">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td>
+<a href="http://apachecon.com">
+<img border="0" alt="ApacheCon Promotion" align="left" src="http://www.apache.org/ads/ApacheCon/234x60-2006-us.gif"/>
+</a>
+</td>
+</tr>
+</table>
+<navbar name="lhs">
+
+    <p>
+<strong>Concepts</strong>
+</p>
+<ul>
+<li>
+<a href="./summary.html">Summary</a>
+</li>
+<li>
+<a href="./spoolmanager.html">SpoolManager</a>
+</li>
+<li>
+<a href="./repositories.html">Repositories</a>
+</li>
+<li>
+<a href="./mailet_api.html">The Mailet API</a>
+</li>
+</ul>
+    
+    <p>
+<strong>How to...</strong>
+</p>
+<ul>
+<li>
+<a href="./build_instructions.html">Build James</a>
+</li>
+<li>
+<a href="./installation_instructions.html">Install James</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Configuration</strong>
+</p>
+<ul>
+<li>
+<a href="./dns_configuration.html">DNS Server</a>
+</li>
+<li>
+<a href="./pop3_configuration.html">POP3 Server</a>
+</li>
+<li>
+<a href="./smtp_configuration.html">SMTP Server</a>
+</li>
+<li>
+<a href="./nntp_configuration.html">NNTP Server</a>
+</li>
+<li>
+<a href="./fetchmail_configuration.html">FetchMail</a>
+</li>
+<li>
+<a href="./remotemanager_configuration.html">RemoteManager</a>
+</li>
+<li>
+<a href="./spoolmanager_configuration.html">SpoolManager</a>
+</li>
+<li>
+<a href="./serverwide_configuration.html">Server-wide</a>
+</li>
+<li>
+<a href="./adding_users.html">Adding Users</a>
+</li>
+<li>
+<a href="./provided_matchers.html">Provided Matchers</a>
+</li>
+<li>
+<a href="./provided_mailets.html">Provided Mailets</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Common Configurations</strong>
+</p>
+<ul>
+<li>
+<a href="./smtp_auth.html">Using SMTP AUTH</a>
+</li>
+<li>
+<a href="./using_database.html">Using a Database with James</a>
+</li>
+<li>
+<a href="./usingTLS.html">Using TLS/SSL</a>
+</li>
+<li>
+<a href="./james_and_sendmail.html">James and Sendmail</a>
+</li>
+<li>
+<a href="./mailing_lists.html">Creating Mailing Lists</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Customization</strong>
+</p>
+<ul>
+<li>
+<a href="./custom_matcher.html">How to write a custom Matcher</a>
+</li>
+<li>
+<a href="./custom_mailet.html">How to write a custom Mailet</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Project</strong>
+</p>
+<ul>
+<li>
+<a href="./changelog.html">Changelog</a>
+</li>
+</ul>
+
+   </navbar>
+</td>
+<!--MAIN BODY-->
+<td align="left" valign="top" class="main-body">
+<div class="section">
+<div class="section-header">
+<a name="Global Server Configuration">
+<strong>Global Server Configuration</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+<p>There are a number of global configuration blocks that do not fall into any one 
+component.  They have effects that are global in scope across the server.  Some of 
+these blocks are crucial, while others can be ignored by any but the most sophisticated 
+server administrators.</p>
+<div class="subsection">
+<div class="subsection-header">
+<a name="The James Block">
+<strong>The James Block</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>This configuration block is defined by the <strong>James</strong> tag.  All administrators 
+need to adjust this configuration block upon installation.  It no attributes, but several 
+children, all of which are required.
+<ul>
+<li>
+<strong>postmaster</strong> - the body of this element is the address that the server 
+will consider its postmaster address.  This address will be listed as the sender address 
+of all error messages that originate from James.  Also, all messages addressed to 
+postmaster@&lt;servername&gt;, where &lt;servername&gt; is one of the domain names whose 
+mail is being handled by James, will be redirected to this email address.</li>
+<li>
+<strong>usernames</strong> - this element has no body, but instead has three required 
+boolean attributes.  These are <strong>ignoreCase</strong>, <strong>enabledAliases</strong>, 
+and <strong>enableForwarding</strong>.  The first of these determines whether email user names
+will be treated as case-insensitive or not.  The second attribute configures whether local user
+aliasing will be enabled.  Finally, the value of the third attribute determines whether forwarding 
+to potentially remote users will be enabled.</li>
+<li>
+<strong>servernames</strong> - this element determines exactly which mail domains and IP 
+addresses the server will treat as local.  It has two boolean attributes - 
+<strong>autodetect</strong> and <strong>autodetectIP</strong>.  The first attribute, if true,
+causes the server to attempt to determine its own host name and add that to the list of local
+mail domains.  The second attribute causes the server to attempt to determine its own IP 
+address and add it to the list of local mail domains.  In addition to these attributes, this 
+tag has zero or more <strong>servername</strong> children.</li>
+<ul>
+<li>
+<strong>servername</strong> - a single host name or IP address that should be added to the list of 
+mail domains that the server considers local.</li>
+</ul>
+<li>
+<strong>inboxRepository</strong> - This is a simple container tag which contains a single child element.</li>
+<ul>
+<li>
+<strong>repository</strong> - this defines the mail repository that will be used to store 
+mail delivered locally.  This element has no body.  The required attribute <strong>type</strong> 
+is always set to "MAIL".  The required attribute <strong>repositoryURL</strong> addresses the
+repository as described in <a href="repositories.html">the repository configuration section</a>.</li>
+</ul>
+</ul>
+</p>
+</div>
+</div>
+<div class="subsection">
+<div class="subsection-header">
+<a name="The Connectionmanager Block">
+<strong>The Connectionmanager Block</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>
+This block controls general connection management.  There are two elements.
+<ul>
+<li>
+<strong>idle-timeout</strong> - the number of milliseconds that it will take for idle 
+client connections managed by this connection manager to be marked at timed out.  If no 
+value is specified, the value defaults to 5 minutes, 300000 milliseconds.  A value of 0 
+means that client sockets will not timeout.</li>
+<li>
+<strong>max-connections</strong> - The max-connections parameter specifies the default 
+maximum number of client connections 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 30.  A value of 0 means that there is no limit imposed 
+by the connection manager, although resource limitations imposed by other components 
+(i.e. max # of threads) may serve to limit the number of open connections.</li>
+</ul>
+</p>
+</div>
+</div>
+<div class="subsection">
+<div class="subsection-header">
+<a name="The Objectstorage Block">
+<strong>The Objectstorage Block</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>This block controls the low level file repository to file mapping.  There is no need to modify this.</p>
+</div>
+</div>
+<div class="subsection">
+<div class="subsection-header">
+<a name="The Socketmanager Block">
+<strong>The Socketmanager Block</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>This block controls the socket types available inside James.  Unless you are intending to enable SSL, it 
+shouldn't be necessary for you to adjust this block.  For modifications to this block that are required to
+enable TLS, see <a href="usingTLS.html">the using TLS section</a>.</p>
+</div>
+</div>
+<div class="subsection">
+<div class="subsection-header">
+<a name="The Threadmanager Block">
+<strong>The Threadmanager Block</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>This block controls the thread pools available inside James.  Only expert administators should modify 
+this configuration.</p>
+</div>
+</div>
+</div>
+</p>
+</div>
+</td>
+</tr>
+<!--FOOTER SEPARATOR-->
+<tr>
+<td colspan="2">
+<hr size="1" noshade=""/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<div class="page-footer">
+<em>
+        Copyright © 1999-2006, The Apache Software Foundation
+        </em>
+</div>
+</td>
+</tr>
+</table>
+</body>
+</html>

Added: james/server/trunk/phoenix-deployment/www/smtp_auth.html
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/smtp_auth.html?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/smtp_auth.html (added)
+++ james/server/trunk/phoenix-deployment/www/smtp_auth.html Thu Mar 22 12:57:00 2007
@@ -0,0 +1,238 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>Apache James - Mail and News server - James 2.3 - Using Authenticated SMTP</title>
+<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet"/>
+</head>
+<body>
+<table cellspacing="0" width="100%" border="0" class="page-header">
+<!--PAGE HEADER-->
+<tr>
+<td colspan="2">
+<!--ASF LOGO-->
+<a href="http://www.apache.org/">
+<img border="0" alt="The ASF" align="left" src="http://www.apache.org/images/asf_logo_wide.gif"/>
+</a>
+<!--PROJECT LOGO-->
+<a href="http://james.apache.org/">
+<img border="0" alt="James - Java Apache Mail Enterprise Server" align="right" src="./images/james-logo.jpg"/>
+</a>
+</td>
+</tr>
+</table>
+<table cellspacing="4" width="100%" border="0">
+<tr>
+<!--LEFT SIDE NAVIGATION-->
+<td nowrap="true" valign="top" class="left-navbar">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td>
+<a href="http://apachecon.com">
+<img border="0" alt="ApacheCon Promotion" align="left" src="http://www.apache.org/ads/ApacheCon/234x60-2006-us.gif"/>
+</a>
+</td>
+</tr>
+</table>
+<navbar name="lhs">
+
+    <p>
+<strong>Concepts</strong>
+</p>
+<ul>
+<li>
+<a href="./summary.html">Summary</a>
+</li>
+<li>
+<a href="./spoolmanager.html">SpoolManager</a>
+</li>
+<li>
+<a href="./repositories.html">Repositories</a>
+</li>
+<li>
+<a href="./mailet_api.html">The Mailet API</a>
+</li>
+</ul>
+    
+    <p>
+<strong>How to...</strong>
+</p>
+<ul>
+<li>
+<a href="./build_instructions.html">Build James</a>
+</li>
+<li>
+<a href="./installation_instructions.html">Install James</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Configuration</strong>
+</p>
+<ul>
+<li>
+<a href="./dns_configuration.html">DNS Server</a>
+</li>
+<li>
+<a href="./pop3_configuration.html">POP3 Server</a>
+</li>
+<li>
+<a href="./smtp_configuration.html">SMTP Server</a>
+</li>
+<li>
+<a href="./nntp_configuration.html">NNTP Server</a>
+</li>
+<li>
+<a href="./fetchmail_configuration.html">FetchMail</a>
+</li>
+<li>
+<a href="./remotemanager_configuration.html">RemoteManager</a>
+</li>
+<li>
+<a href="./spoolmanager_configuration.html">SpoolManager</a>
+</li>
+<li>
+<a href="./serverwide_configuration.html">Server-wide</a>
+</li>
+<li>
+<a href="./adding_users.html">Adding Users</a>
+</li>
+<li>
+<a href="./provided_matchers.html">Provided Matchers</a>
+</li>
+<li>
+<a href="./provided_mailets.html">Provided Mailets</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Common Configurations</strong>
+</p>
+<ul>
+<li>
+<a href="./smtp_auth.html">Using SMTP AUTH</a>
+</li>
+<li>
+<a href="./using_database.html">Using a Database with James</a>
+</li>
+<li>
+<a href="./usingTLS.html">Using TLS/SSL</a>
+</li>
+<li>
+<a href="./james_and_sendmail.html">James and Sendmail</a>
+</li>
+<li>
+<a href="./mailing_lists.html">Creating Mailing Lists</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Customization</strong>
+</p>
+<ul>
+<li>
+<a href="./custom_matcher.html">How to write a custom Matcher</a>
+</li>
+<li>
+<a href="./custom_mailet.html">How to write a custom Mailet</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Project</strong>
+</p>
+<ul>
+<li>
+<a href="./changelog.html">Changelog</a>
+</li>
+</ul>
+
+   </navbar>
+</td>
+<!--MAIN BODY-->
+<td align="left" valign="top" class="main-body">
+<div class="section">
+<div class="section-header">
+<a name="Authenticated SMTP (SMTP AUTH)">
+<strong>Authenticated SMTP (SMTP AUTH)</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+<p>Authenticated SMTP is a method of securing your SMTP server.  With SMTP AUTH enabled senders who wish to 
+relay mail through the SMTP server (that is, send mail that is eventually to be delivered to another SMTP 
+server) must authenticate themselves to James before sending their message.  Mail that is to be delivered 
+locally does not require authentication.  This method ensures that spammers cannot use your SMTP server
+to send unauthorized mail, while still enabling users who may not have fixed IP addresses to send their 
+messages.</p>
+<p>Mail servers that allow spammers to send unauthorized email are known as open relays.  So SMTP AUTH
+is a mechanism for ensuring that your server is not an open relay .</p>
+<p>At this time James only supports simple user name / password authentication.</p>
+<div class="subsection">
+<div class="subsection-header">
+<a name="Configuring James for Authenticated SMTP">
+<strong>Configuring James for Authenticated SMTP</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Configuring James for Authentication SMTP is a multi-step process.  It requires several adjustments of 
+the config.xml.  To enable SMTP AUTH, do the following:</p>
+<p>First, as mentioned above, SMTP AUTH requires that James be able to distinguish between mail intended 
+for local delivery and mail intended for remote delivery.  James makes this determination by matching the 
+domain to which the mail was sent against the &lt;servernames&gt; element of the James configuration block.  Any 
+local domains should be explicitly listed as &lt;servername&gt; elements in this section.</p>
+<p>Second, James is configured out of the box so as to not serve as an open relay for spammers.  This is done 
+by restricting the IP addresses from which mail will be accepted using the RemoteAddrNotInNetwork mailet.  This
+restriction must be lifted before users can send from arbitrary clients.  To do this, comment out or remove the 
+mailet tag containing the class attribute "RemoteAddrNotInNetwork".  This tag can be found in the spoolmanager 
+configuration block, in the root processor configuration.</p>
+<p>Third, set the authRequired element of the smtpserver configuration block to "true".</p>
+<p>Fourth, if you wish to ensure that authenticated users can only send email from their own account, you may
+optionally set the verifyIdentity element of the smtpserver configuration block to "true".</p>
+<p>Fifth, restart James.  This will pull in all of your configuration changes.</p>
+</div>
+</div>
+<div class="subsection">
+<div class="subsection-header">
+<a name="Verifying Your Configuration">
+<strong>Verifying Your Configuration</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Finally, you need to verify that your configuration was done correctly.  This step is 
+<strong>important</strong> and should not be skipped.</p>
+<p>Verify that you have not inadvertantly configured your server as an open relay. This is most easily 
+accomplished by using the service provided at <a href="http://www.ordb.org">ORDB.org</a>.  ORDB.org will 
+check your mail server and inform you if it is an open relay.</p>
+<p>It is extremely important that your server not be configured as an open relay.  Aside from potential 
+costs associated with usage by spammers, connections from servers that are determined to be open relays 
+are routinely rejected by SMTP servers.  This can severely impede the ability of your mail server to 
+send mail.</p>
+<p>Of course it is also necessary to confirm that users and log in and send 
+mail through your server.  This can be accomplished using any standard mail client (i.e. Outlook, 
+Eudora, Evolution).</p>
+</div>
+</div>
+</div>
+</p>
+</div>
+</td>
+</tr>
+<!--FOOTER SEPARATOR-->
+<tr>
+<td colspan="2">
+<hr size="1" noshade=""/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<div class="page-footer">
+<em>
+        Copyright © 1999-2006, The Apache Software Foundation
+        </em>
+</div>
+</td>
+</tr>
+</table>
+</body>
+</html>

Added: james/server/trunk/phoenix-deployment/www/smtp_configuration.html
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/smtp_configuration.html?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/smtp_configuration.html (added)
+++ james/server/trunk/phoenix-deployment/www/smtp_configuration.html Thu Mar 22 12:57:00 2007
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>Apache James - Mail and News server - James 2.3 - Configuring the SMTP Service</title>
+<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet"/>
+</head>
+<body>
+<table cellspacing="0" width="100%" border="0" class="page-header">
+<!--PAGE HEADER-->
+<tr>
+<td colspan="2">
+<!--ASF LOGO-->
+<a href="http://www.apache.org/">
+<img border="0" alt="The ASF" align="left" src="http://www.apache.org/images/asf_logo_wide.gif"/>
+</a>
+<!--PROJECT LOGO-->
+<a href="http://james.apache.org/">
+<img border="0" alt="James - Java Apache Mail Enterprise Server" align="right" src="./images/james-logo.jpg"/>
+</a>
+</td>
+</tr>
+</table>
+<table cellspacing="4" width="100%" border="0">
+<tr>
+<!--LEFT SIDE NAVIGATION-->
+<td nowrap="true" valign="top" class="left-navbar">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td>
+<a href="http://apachecon.com">
+<img border="0" alt="ApacheCon Promotion" align="left" src="http://www.apache.org/ads/ApacheCon/234x60-2006-us.gif"/>
+</a>
+</td>
+</tr>
+</table>
+<navbar name="lhs">
+
+    <p>
+<strong>Concepts</strong>
+</p>
+<ul>
+<li>
+<a href="./summary.html">Summary</a>
+</li>
+<li>
+<a href="./spoolmanager.html">SpoolManager</a>
+</li>
+<li>
+<a href="./repositories.html">Repositories</a>
+</li>
+<li>
+<a href="./mailet_api.html">The Mailet API</a>
+</li>
+</ul>
+    
+    <p>
+<strong>How to...</strong>
+</p>
+<ul>
+<li>
+<a href="./build_instructions.html">Build James</a>
+</li>
+<li>
+<a href="./installation_instructions.html">Install James</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Configuration</strong>
+</p>
+<ul>
+<li>
+<a href="./dns_configuration.html">DNS Server</a>
+</li>
+<li>
+<a href="./pop3_configuration.html">POP3 Server</a>
+</li>
+<li>
+<a href="./smtp_configuration.html">SMTP Server</a>
+</li>
+<li>
+<a href="./nntp_configuration.html">NNTP Server</a>
+</li>
+<li>
+<a href="./fetchmail_configuration.html">FetchMail</a>
+</li>
+<li>
+<a href="./remotemanager_configuration.html">RemoteManager</a>
+</li>
+<li>
+<a href="./spoolmanager_configuration.html">SpoolManager</a>
+</li>
+<li>
+<a href="./serverwide_configuration.html">Server-wide</a>
+</li>
+<li>
+<a href="./adding_users.html">Adding Users</a>
+</li>
+<li>
+<a href="./provided_matchers.html">Provided Matchers</a>
+</li>
+<li>
+<a href="./provided_mailets.html">Provided Mailets</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Common Configurations</strong>
+</p>
+<ul>
+<li>
+<a href="./smtp_auth.html">Using SMTP AUTH</a>
+</li>
+<li>
+<a href="./using_database.html">Using a Database with James</a>
+</li>
+<li>
+<a href="./usingTLS.html">Using TLS/SSL</a>
+</li>
+<li>
+<a href="./james_and_sendmail.html">James and Sendmail</a>
+</li>
+<li>
+<a href="./mailing_lists.html">Creating Mailing Lists</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Customization</strong>
+</p>
+<ul>
+<li>
+<a href="./custom_matcher.html">How to write a custom Matcher</a>
+</li>
+<li>
+<a href="./custom_mailet.html">How to write a custom Mailet</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Project</strong>
+</p>
+<ul>
+<li>
+<a href="./changelog.html">Changelog</a>
+</li>
+</ul>
+
+   </navbar>
+</td>
+<!--MAIN BODY-->
+<td align="left" valign="top" class="main-body">
+<div class="section">
+<div class="section-header">
+<a name="SMTP Configuration">
+<strong>SMTP Configuration</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+<p>The SMTP service is controlled by a configuration block in the config.xml.
+The smtpserver tag defines the boundaries of the configuration block.  It encloses 
+all the relevant configuration for the SMTP server.  The behavior of the SMTP service is
+controlled by the attributes and children of this tag.</p>
+
+<p>This tag has an optional boolean attribute - <strong>enabled</strong> - that defines whether the service is active or not.  The value defaults to "true" if
+not present.</p>
+<p>The standard children of the smtpserver tag are:</p>
+<ul>
+<li>
+<strong>port</strong> - This is an optional integer value.  This value is the port on which this SMTP server is configured 
+to listen.If the tag or value is omitted, the value will default to the standard SMTP port, 25.</li>
+<li>
+<strong>bind</strong> - This is an optional value.  If present, this value is a string describing 
+the IP address to which this service should be bound.  If the tag or value is absent then the service 
+will bind to all network interfaces for the machine.</li>
+<li>
+<strong>useTLS</strong> - This is an optional boolean value.  If this value is true, then the "ssl"
+server socket factory is used to generate the server socket for this service.  If it is false, the 
+"plain" server socket factory is used.  In either case this behavior is overridden by the serverSocketType 
+tag which is described under the expert configuration options.</li>
+<li>
+<strong>handler</strong> - This is an artifact preserved for backwards compatibility.  This tag 
+was used to group related parameters.  It should disappear in future versions.</li>
+<ul>
+<li>
+<strong>helloName</strong> - This is a required tag with an optional body that defines the server name 
+used in the initial service greeting.  The tag may have an optional attribute - <strong>autodetect</strong>.  If 
+the autodetect attribute is present and true, the service will use the local hostname
+returned by the Java libraries.  If autodetect is absent or false, the body of the tag will be used.  In
+this case, if no body is present, the value "localhost" will be used.</li>
+<li>
+<strong>connectionTimeout</strong> - This is an optional tag with a non-negative integer body.  </li>
+<li>
+<strong>authRequired</strong> - This is an optional tag with a boolean body.  If true, then the server will 
+require authentication before delivering mail to non-local email addresses.  If this tag is absent, or the value 
+is false then the client will not be prompted for authentication.  Only simple user/password authentication is
+supported at this time.</li>
+<li>
+<strong>verifyIdentity</strong> - This is an optional tag with a boolean body.  This option can only be used 
+if SMTP authentication is required.  If the parameter is set to true then the sender address for the submitted message
+will be verified against the authenticated subject.</li>
+<li>
+<strong>maxmessagesize</strong> - This is an optional tag with a non-negative integer body.  It specifies the maximum 
+size, in kbytes, of any message that will be transmitted by this SMTP server.  It is a service-wide, as opposed to 
+a per user, limit.  If the value is zero then there is no limit.  If the tag isn't specified, the service will
+default to an unlimited message size.</li>
+</ul>
+</ul>
+<p>There are a few additional children of the smtpserver tag that are appropriate for advanced 
+configurations.  These should only be used by expert administrators.  All tags in this group are optional.</p>
+<ul>
+<li>
+<strong>serverSocketFactory</strong> - This is an optional tag with a string body.  If the tag is present, 
+the body must be the name of one of the server socket factories specified in the socket manager block.  Any other 
+value will result in an error.  If present, this tag overrides the useTLS tag.</li>
+<li>
+<strong>threadGroup</strong> - This is an optional tag with a string body.  If the tag is present, 
+the body must be the name of one of the thread groups specified in the thread manager block.  Any other 
+value will result in an error.  This tag is best used to fine tune thread allocation between the services.</li>
+<li>
+<strong>connectionLimit</strong> - The connectionLimit parameter specifies the maximum number of client 
+connections that this service will allow.  If no value is specified, the value defaults to that specified in 
+the connectionmanager block.  A value of 0 means that there is no limit imposed 
+by the service, although resource limitations imposed by other components 
+(i.e. max # of threads) may serve to limit the number of open connections.</li>
+</ul>
+</div>
+</p>
+</div>
+</td>
+</tr>
+<!--FOOTER SEPARATOR-->
+<tr>
+<td colspan="2">
+<hr size="1" noshade=""/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<div class="page-footer">
+<em>
+        Copyright © 1999-2006, The Apache Software Foundation
+        </em>
+</div>
+</td>
+</tr>
+</table>
+</body>
+</html>

Added: james/server/trunk/phoenix-deployment/www/spoolmanager.html
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/spoolmanager.html?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/spoolmanager.html (added)
+++ james/server/trunk/phoenix-deployment/www/spoolmanager.html Thu Mar 22 12:57:00 2007
@@ -0,0 +1,239 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>Apache James - Mail and News server - James 2.3 - The SpoolManager, Matchers, and Mailets</title>
+<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet"/>
+</head>
+<body>
+<table cellspacing="0" width="100%" border="0" class="page-header">
+<!--PAGE HEADER-->
+<tr>
+<td colspan="2">
+<!--ASF LOGO-->
+<a href="http://www.apache.org/">
+<img border="0" alt="The ASF" align="left" src="http://www.apache.org/images/asf_logo_wide.gif"/>
+</a>
+<!--PROJECT LOGO-->
+<a href="http://james.apache.org/">
+<img border="0" alt="James - Java Apache Mail Enterprise Server" align="right" src="./images/james-logo.jpg"/>
+</a>
+</td>
+</tr>
+</table>
+<table cellspacing="4" width="100%" border="0">
+<tr>
+<!--LEFT SIDE NAVIGATION-->
+<td nowrap="true" valign="top" class="left-navbar">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td>
+<a href="http://apachecon.com">
+<img border="0" alt="ApacheCon Promotion" align="left" src="http://www.apache.org/ads/ApacheCon/234x60-2006-us.gif"/>
+</a>
+</td>
+</tr>
+</table>
+<navbar name="lhs">
+
+    <p>
+<strong>Concepts</strong>
+</p>
+<ul>
+<li>
+<a href="./summary.html">Summary</a>
+</li>
+<li>
+<a href="./spoolmanager.html">SpoolManager</a>
+</li>
+<li>
+<a href="./repositories.html">Repositories</a>
+</li>
+<li>
+<a href="./mailet_api.html">The Mailet API</a>
+</li>
+</ul>
+    
+    <p>
+<strong>How to...</strong>
+</p>
+<ul>
+<li>
+<a href="./build_instructions.html">Build James</a>
+</li>
+<li>
+<a href="./installation_instructions.html">Install James</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Configuration</strong>
+</p>
+<ul>
+<li>
+<a href="./dns_configuration.html">DNS Server</a>
+</li>
+<li>
+<a href="./pop3_configuration.html">POP3 Server</a>
+</li>
+<li>
+<a href="./smtp_configuration.html">SMTP Server</a>
+</li>
+<li>
+<a href="./nntp_configuration.html">NNTP Server</a>
+</li>
+<li>
+<a href="./fetchmail_configuration.html">FetchMail</a>
+</li>
+<li>
+<a href="./remotemanager_configuration.html">RemoteManager</a>
+</li>
+<li>
+<a href="./spoolmanager_configuration.html">SpoolManager</a>
+</li>
+<li>
+<a href="./serverwide_configuration.html">Server-wide</a>
+</li>
+<li>
+<a href="./adding_users.html">Adding Users</a>
+</li>
+<li>
+<a href="./provided_matchers.html">Provided Matchers</a>
+</li>
+<li>
+<a href="./provided_mailets.html">Provided Mailets</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Common Configurations</strong>
+</p>
+<ul>
+<li>
+<a href="./smtp_auth.html">Using SMTP AUTH</a>
+</li>
+<li>
+<a href="./using_database.html">Using a Database with James</a>
+</li>
+<li>
+<a href="./usingTLS.html">Using TLS/SSL</a>
+</li>
+<li>
+<a href="./james_and_sendmail.html">James and Sendmail</a>
+</li>
+<li>
+<a href="./mailing_lists.html">Creating Mailing Lists</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Customization</strong>
+</p>
+<ul>
+<li>
+<a href="./custom_matcher.html">How to write a custom Matcher</a>
+</li>
+<li>
+<a href="./custom_mailet.html">How to write a custom Mailet</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Project</strong>
+</p>
+<ul>
+<li>
+<a href="./changelog.html">Changelog</a>
+</li>
+</ul>
+
+   </navbar>
+</td>
+<!--MAIN BODY-->
+<td align="left" valign="top" class="main-body">
+<div class="section">
+<div class="section-header">
+<a name="The SpoolManager, Matchers, and Mailets">
+<strong>The SpoolManager, Matchers, and Mailets</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+
+<p>James separates the services that deliver mail to James (i.e. SMTP, FetchMail) 
+from the engine that processes mail after it is received by James.  The 
+SpoolManager component is James' mail processing engine.  James' SpoolManager component 
+is a Mailet container.  It is these mailets and matchers that actually carry out mail processing.</p>
+
+<p>Core to the SpoolManager operation are Matchers and Mailets.  A Matcher is a 
+simple object that checks whether a mail message matches a particular condition. 
+A mailet is another type object that processes an email message in some way.  Some 
+typical tasks appropriate for a mailet would be adding a header, delivering the message 
+to a local repository, or handling remote delivery.  Both the Matcher and Mailet APIs are 
+public, allowing James users to write their own custom matchers and mailets.  James 
+comes with a large set of pre-built matchers and mailets.</p>
+
+<p>Matchers and mailets are used in pairs.  At each stage in processing a message is checked 
+against a matcher.  The matcher will attempt to match the mail message.  The match is not simply
+a yes or no issue.  Instead, the match method returns a collection of matched recipients.  If the 
+this collection of matched recipients is empty, the mailet is not invoked.  If the collection of
+matched recipients is the entire set of original recipients, the mail is then processed by the 
+associated mailet.  Finally, if the matcher only matches a proper subset of the original recipients,
+the original mail is duplicated.  The recipients for one message are set to the matched recipients,
+and that message is processed by the mailet.  The recipients for the other mail are set to the
+non-matching recipients, and that message is not processed by the mailet.</p>
+
+<p>More on matchers and mailets can be found <a href="mailet_api.html">here</a>.</p>
+
+<p>One level up from the matchers and mailets are the processors.  Each processor 
+is a list of matcher/mailet pairs.  During mail processing, mail messages will be 
+processed by each pair, in order.  In most cases, the message will be processed by 
+all the pairs in the processor.  However, it is possible for a mailet to change the 
+state of the mail message so it is immediately directed to another processor, and no 
+additional processing occurs in the current processor.  Typically this occurs when the mailet wants to prevent 
+future processing of this message (i.e. the mail message has been delivered locally, 
+and hence requires no further processing) or when the mail message has been identified
+as a candidate for special processing (i.e. the message is spam and thus should be 
+routed to the spam processor).  Because of this redirection, the processors in the 
+SpoolManager form a tree.  The root processor, which must be present, is the root of
+this tree.</p>
+
+<p>The SpoolManager continually checks for mail in the spool repository.  When
+mail is first found in the repository, it is delivered to the root processor.  
+Mail can be placed on this spool from a number of sources (SMTP, FetchPOP, a 
+custom component).  This spool repository is also used for storage of mail that is
+being redirected from one processor to another.  Mail messages are driven through 
+the processor tree until they reach the end of a processor or are marked completed 
+by a mailet.</p>
+
+<p>More on configuration of the SpoolManager can be found <a href="spoolmanager_configuration.html">here</a>.</p>
+
+<p>Much of the power of James lies in the SpoolManager component.  Custom matchers and 
+mailets can be easily developed to address an administrator's particular needs.  The 
+processor tree can easily be configured to sort, filter, and deliver mail based on any 
+number of criteria.  Mail administrators new to James should spend some time learning how 
+to configure the SpoolManager to meet their needs.</p>
+
+</div>
+</p>
+</div>
+</td>
+</tr>
+<!--FOOTER SEPARATOR-->
+<tr>
+<td colspan="2">
+<hr size="1" noshade=""/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<div class="page-footer">
+<em>
+        Copyright © 1999-2006, The Apache Software Foundation
+        </em>
+</div>
+</td>
+</tr>
+</table>
+</body>
+</html>

Added: james/server/trunk/phoenix-deployment/www/spoolmanager_configuration.html
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/spoolmanager_configuration.html?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/spoolmanager_configuration.html (added)
+++ james/server/trunk/phoenix-deployment/www/spoolmanager_configuration.html Thu Mar 22 12:57:00 2007
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="iso-8859-1"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html>
+<head>
+<title>Apache James - Mail and News server - James 2.3 - Configuring the SpoolManager</title>
+<LINK TITLE="Style" HREF="stylesheet.css" TYPE="text/css" REL="stylesheet"/>
+</head>
+<body>
+<table cellspacing="0" width="100%" border="0" class="page-header">
+<!--PAGE HEADER-->
+<tr>
+<td colspan="2">
+<!--ASF LOGO-->
+<a href="http://www.apache.org/">
+<img border="0" alt="The ASF" align="left" src="http://www.apache.org/images/asf_logo_wide.gif"/>
+</a>
+<!--PROJECT LOGO-->
+<a href="http://james.apache.org/">
+<img border="0" alt="James - Java Apache Mail Enterprise Server" align="right" src="./images/james-logo.jpg"/>
+</a>
+</td>
+</tr>
+</table>
+<table cellspacing="4" width="100%" border="0">
+<tr>
+<!--LEFT SIDE NAVIGATION-->
+<td nowrap="true" valign="top" class="left-navbar">
+<table cellpadding="0" cellspacing="0" width="100%" border="0">
+<tr>
+<td>
+<a href="http://apachecon.com">
+<img border="0" alt="ApacheCon Promotion" align="left" src="http://www.apache.org/ads/ApacheCon/234x60-2006-us.gif"/>
+</a>
+</td>
+</tr>
+</table>
+<navbar name="lhs">
+
+    <p>
+<strong>Concepts</strong>
+</p>
+<ul>
+<li>
+<a href="./summary.html">Summary</a>
+</li>
+<li>
+<a href="./spoolmanager.html">SpoolManager</a>
+</li>
+<li>
+<a href="./repositories.html">Repositories</a>
+</li>
+<li>
+<a href="./mailet_api.html">The Mailet API</a>
+</li>
+</ul>
+    
+    <p>
+<strong>How to...</strong>
+</p>
+<ul>
+<li>
+<a href="./build_instructions.html">Build James</a>
+</li>
+<li>
+<a href="./installation_instructions.html">Install James</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Configuration</strong>
+</p>
+<ul>
+<li>
+<a href="./dns_configuration.html">DNS Server</a>
+</li>
+<li>
+<a href="./pop3_configuration.html">POP3 Server</a>
+</li>
+<li>
+<a href="./smtp_configuration.html">SMTP Server</a>
+</li>
+<li>
+<a href="./nntp_configuration.html">NNTP Server</a>
+</li>
+<li>
+<a href="./fetchmail_configuration.html">FetchMail</a>
+</li>
+<li>
+<a href="./remotemanager_configuration.html">RemoteManager</a>
+</li>
+<li>
+<a href="./spoolmanager_configuration.html">SpoolManager</a>
+</li>
+<li>
+<a href="./serverwide_configuration.html">Server-wide</a>
+</li>
+<li>
+<a href="./adding_users.html">Adding Users</a>
+</li>
+<li>
+<a href="./provided_matchers.html">Provided Matchers</a>
+</li>
+<li>
+<a href="./provided_mailets.html">Provided Mailets</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Common Configurations</strong>
+</p>
+<ul>
+<li>
+<a href="./smtp_auth.html">Using SMTP AUTH</a>
+</li>
+<li>
+<a href="./using_database.html">Using a Database with James</a>
+</li>
+<li>
+<a href="./usingTLS.html">Using TLS/SSL</a>
+</li>
+<li>
+<a href="./james_and_sendmail.html">James and Sendmail</a>
+</li>
+<li>
+<a href="./mailing_lists.html">Creating Mailing Lists</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Customization</strong>
+</p>
+<ul>
+<li>
+<a href="./custom_matcher.html">How to write a custom Matcher</a>
+</li>
+<li>
+<a href="./custom_mailet.html">How to write a custom Mailet</a>
+</li>
+</ul>
+    
+    <p>
+<strong>Project</strong>
+</p>
+<ul>
+<li>
+<a href="./changelog.html">Changelog</a>
+</li>
+</ul>
+
+   </navbar>
+</td>
+<!--MAIN BODY-->
+<td align="left" valign="top" class="main-body">
+<div class="section">
+<div class="section-header">
+<a name="SpoolManager Configuration">
+<strong>SpoolManager Configuration</strong>
+</a>
+</div>
+<p>
+<div class="section-body">
+<p>The SpoolManager is controlled by a single configuration block in the config.xml.
+The spoolmanager tag defines the boundaries of the configuration block.  The behavior of 
+the SpoolManager, most importantly the routing of mail messages through the processor tree,
+is controlled by this block.</p>
+
+<p>The spoolmanager tag has only one children.  It is:</p>
+<ul>
+<li>
+<strong>threads</strong> - This is a required positive integer element.  It specifies 
+the number of threads the SpoolManager will use to process messages in the spool.  This 
+parameter tends to substantially impact performance, so it is advisable to tune it in production 
+configurations.</li>
+</ul>
+
+<p>Spoolmanager depends on mailet and matcher packages, configured by these tags:</p>
+<ul>
+<li>
+<strong>mailetpackages</strong> - This is a required container tag.  It contains some number 
+of <strong>mailetpackage</strong> children.  The body of each of these <strong>mailetpackage</strong> 
+elements is a Java package name.  It is these packages that contain the classes to be instantiated
+as mailets.</li>
+<li>
+<strong>matcherpackages</strong> - This is a required container tag.  It contains some number 
+of <strong>matcherpackage</strong> children.  The body of each of these <strong>matcherpackage</strong> 
+elements is a Java package name.  It is these packages that contain the classes to be instantiated
+as matchers.</li>
+</ul>
+
+<p>The remaining SpoolManager configuration elements are complex enough to require a more in-depth
+discussion.</p>
+
+<div class="subsection">
+<div class="subsection-header">
+<a name="Processor Configuration">
+<strong>Processor Configuration</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>In addition to the child elements discussed above, the SpoolManager tag can have several 
+<strong>processor</strong> children.  It is these tags and their children that define the processor tree 
+for the SpoolManager.</p>
+<p>Each processor has a required attribute, <strong>name</strong>.  The value of this attribute must be 
+unique for each processor tag.  The name of a processor is significant.  Certain processors are required 
+(specifically root and error).  The name "ghost" is forbidden as a processor name, as it is used to denote 
+a message that should not undergo any further processing.</p>
+<p>The James SpoolManager creates a correspondance between processor names and the "state" of a mail as defined 
+in the Mailet API.  Specifically, after each mailet processes a mail, the state of the message is examined.  If
+the state has been changed, the message does not continue in the current processor.  If the new state is "ghost"
+then processing of that message terminates completely.  If the new state is anything else, the message is 
+re-routed to the processor with the name matching the new state.</p>
+<p>The root processor is a required processor.  All new messages that the SpoolManager finds on the spool are 
+directed to this processor.</p>
+<p>The error processor is another required processor.  Under certain circumstances James itself will redirect messages
+to the error processor.  It is also the standard processor to which mailets redirect messages when an error
+condition is encountered.</p>
+<p>The transport and spam processors are two useful, but optional, processors that are included in the out of
+the box configuration.  These processors include logic for actual mail delivery and spam handling respectively.  More
+information on these processors can be found in the default config.xml.</p>
+<p>Each processor element has zero or more <strong>mailet</strong> child elements.  Each of these elements describes a 
+matcher/mailet pair.  The ordering of the <strong>mailet</strong> children is crucial to the configuration, as 
+it is the order in which pairs will be traversed in the processor.</p>
+<p>It is this <strong>mailet</strong> element that is at the core of the SpoolManager configuration.</p>
+</div>
+</div>
+<div class="subsection">
+<div class="subsection-header">
+<a name="The Mailet Tag">
+<strong>The Mailet Tag</strong>
+</a>
+</div>
+<div class="subsection-body">
+<p>Consider the following simple <strong>mailet</strong> tag:</p>
+&lt;mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor"&gt;<br/>
+&lt;processor&gt;spam&lt;/processor&gt;<br/>
+&lt;/mailet&gt;<br/>
+<p>The mailet tag has two required attributes, <strong>match</strong> and <strong>class</strong>.</p>
+<p>The <strong>match</strong> attribute is set to the value of the specific Matcher class to be instantiated with a an 
+optional argument.  If present, the argument is separated from the Matcher class name by an '='.  Semantic 
+interpretation of the argument is left to the particular mailet.</p>
+<p>The <strong>class</strong> attribute is set to the value of the Mailet class that is to be instantiated.</p>
+<p>Finally, the children of the <strong>mailet</strong> tag define the configuration that is passed to the Mailet.  The 
+tags used in this section should have no attributes or children.  The names and bodies of the elements will be passed to 
+the mailet as (name, value) pairs.</p>
+<p>So in the example above, a Matcher instance of RemoteAddrNotInNetwork would be instantiated, and the value "127.0.0.1" 
+would be passed to the matcher.  The Mailet of the pair will be an instance of ToProcessor, and it will be passed the (name, value) 
+pair of ("processor", "spam").</p>
+<p>James includes a number of pre-packaged Mailets and Matchers.  A list of provided Mailets may be found 
+<a href="provided_mailets.html">here</a>.  A list of provided Matchers may be found <a href="provided_matchers.html">here</a>.</p>
+</div>
+</div>
+</div>
+</p>
+</div>
+</td>
+</tr>
+<!--FOOTER SEPARATOR-->
+<tr>
+<td colspan="2">
+<hr size="1" noshade=""/>
+</td>
+</tr>
+<tr>
+<td colspan="2">
+<div class="page-footer">
+<em>
+        Copyright © 1999-2006, The Apache Software Foundation
+        </em>
+</div>
+</td>
+</tr>
+</table>
+</body>
+</html>

Added: james/server/trunk/phoenix-deployment/www/stylesheet.css
URL: http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/www/stylesheet.css?view=auto&rev=521427
==============================================================================
--- james/server/trunk/phoenix-deployment/www/stylesheet.css (added)
+++ james/server/trunk/phoenix-deployment/www/stylesheet.css Thu Mar 22 12:57:00 2007
@@ -0,0 +1,152 @@
+body {  font-family: Verdana, Arial, Helvetica, sans-serif;}
+td {  font-family: Verdana, Arial, Helvetica, sans-serif;font-size: 90%  }
+strong {  font-weight: bold;}
+p {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 90% }
+a {
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    font-size: 90%;
+}
+h3 {  font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 100% }
+li {
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    font-size: 90%;
+}
+
+table {  border-style: none}
+td {  border-style: none}
+.section-header {
+    border: thin solid #525D76;
+    background-color: #525D76;
+    color: #FFFFFF;
+
+
+}
+.subsection-header {
+    border: thin solid #828DA6;
+    color: #FFFFFF;
+    background-color: #828DA6;
+
+
+
+
+}
+.source {
+    left: 4em;
+    border: 1px solid #000066;
+    white-space: pre;
+    font-family: "Courier New", Courier, mono;
+    padding: 0ex 2ex 2ex 2ex;
+    margin: 0ex;
+
+
+
+}
+.left-navbar {
+    padding-right: 1ex;
+    padding-left: 1ex;
+    border-top: 1px none #CCCCCC;
+    border-right: 1px none #CCCCCC;
+    border-bottom: 1px none #CCCCCC;
+    border-left: 1px none #CCCCCC;
+
+
+}
+li a {
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    font-size: 90%;
+        color: #333333;
+}
+p a {
+    font-family: Verdana, Arial, Helvetica, sans-serif;
+    font-size: 90%;
+        color: #333333;
+}
+.right-navbar {
+    padding-left: 1ex;
+    padding-right: 1ex;
+    border-top: 1px none #CCCCCC;
+    border-right: 1px none #CCCCCC;
+    border-bottom: 1px none #CCCCCC;
+    border-left: 1px none #CCCCCC;
+
+
+
+
+}
+ul {
+    list-style-position: inside;
+    margin: 0em 0em 0em 0px;
+    padding: 0em 0em 0em 0px;
+    list-style-type: square;
+
+
+}
+.section-body {
+    padding-left: 1em;
+    margin-bottom: 1em;
+    border-top-width: 1px;
+    border-right-width: 1px;
+    border-bottom-width: 1px;
+    border-left-width: 1px;
+    border-top-style: none;
+    border-right-style: solid;
+    border-bottom-style: none;
+    border-left-style: solid;
+    border-top-color: #CCCCCC;
+    border-right-color: #CCCCCC;
+    border-bottom-color: #CCCCCC;
+    border-left-color: #CCCCCC;
+    padding-right: 1ex;
+    text-align: justify;
+
+
+
+
+}
+.subsection-body {
+    padding-left: 1em;
+    margin-bottom: 1em;
+    border-top-width: 1px;
+    border-right-width: 1px;
+    border-bottom-width: 1px;
+    border-left-width: 1px;
+    border-top-style: none;
+    border-right-style: none;
+    border-bottom-style: none;
+    border-left-style: none;
+    border-top-color: #CCCCCC;
+    border-right-color: #CCCCCC;
+    border-bottom-color: #CCCCCC;
+    border-left-color: #CCCCCC;
+    text-align: justify;
+
+
+
+}
+pre {
+
+
+    left: 4em;
+    border: 1px solid #000066;
+    white-space: pre;
+    font-family: "Courier New", Courier, mono;
+    padding: 0ex 2ex 2ex 2ex;
+    margin: 0ex;
+}
+.detail-table-header {
+    font-weight: bold;
+    color: #FFFFFF;
+    background-color: #666666;
+    vertical-align: text-bottom;
+    text-align: center;
+}
+.detail-table-content {
+    border: 1px solid #CCCCCC;
+    font-family: Verdana;
+    font-size: 90%;
+    margin: 2px;
+    padding: 0px 4px;
+
+
+
+}



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