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>
+<mailet match="AttachmentFileNameIs=value, value, .." class="<any-class>">
+</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 <prefix>-on or <prefix>-off on any host. Only those matching recipients will be returned.</p>
+<p>Configuration string: An email address of the form <prefix>@<host>, where host is the hostname used for the listserver and prefix is the command prefix.
+<pre>
+<code>
+<mailet match="CommandForListserv=james-on@list.working-dogs.com" class="<any-class>">
+</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>
+<mailet match="CommandForListservManager=announce@localhost" class="<any-class>">
+</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>
+<mailet match="CompareNumericHeaderValue= X-MessageIsSpamProbability > 0.9" class="<any-class>">
+</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>
+<mailet match="FetchedFrom=value" class="<any-class>">
+</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>
+<mailet match="FileRegexMatcher=value" class="<any-class>">
+</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>
+<mailet match="HasHeader=value" class="<any-class>">
+</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>
+<mailet match="HasMailAttribute=name" class="<any-class>">
+</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>
+<mailet match="HasMailAttributeWithValue=name, value" class="<any-class>">
+</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>
+<mailet match="HasMailAttributeWithValueRegex=name, regex" class="<any-class>">
+</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>
+<mailet match="HostIs=value, value, .." class="<any-class>">
+</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>
+<mailet match="IsInWhiteList=db://maildb" class="ToProcessor">
+ <processor> transport </processor>
+</mailet>
+</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>
+<mailet match="RecipientIs=value, value, .." class="<any-class>">
+</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>
+<mailet match="RecipientIsOverFixedQuota=10m" class="<any-class>">
+</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>
+<mailet match="RecipientIsRegex=value" class="<any-class>">
+</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>
+<mailet match="RelayLimit=value" class="<any-class>">
+</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>
+<mailet match="RemoteAddrInNetwork=value, value, .." class="<any-class>">
+</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>
+<mailet match="RemoteAddrNotInNetwork=value, value, .." class="<any-class>">
+</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>
+<mailet match="SenderIs=value, value, .." class="<any-class>">
+</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>
+<mailet match="SenderIsNull" class="<any-class>">
+</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>
+<mailet match="SenderIsRegex=value" class="<any-class>">
+</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>
+<mailet match="SizeGreaterThan=1m" class="<any-class>">
+</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>
+<mailet match="SMTPAuthSuccessful" class="<any-class>">
+</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>
+<mailet match="SMTPAuthUserIs=value, value, .." class="<any-class>">
+</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>
+<mailet match="SubjectIs=value" class="<any-class>">
+</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>
+<mailet match="SubjectStartsWith=value" class="<any-class>">
+</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>
+<mailet match="UserIs=value, value, .." class="<any-class>">
+</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://<data-source>/<table>"
+where <data-source> is the name of the data-source defined in the data-connections section. And <table> 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@<servername>, where <servername> 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 <servernames> element of the James configuration block. Any
+local domains should be explicitly listed as <servername> 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>
+<mailet match="RemoteAddrNotInNetwork=127.0.0.1" class="ToProcessor"><br/>
+<processor>spam</processor><br/>
+</mailet><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