You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-dev@james.apache.org by rd...@apache.org on 2009/08/31 14:54:24 UTC
svn commit: r809563 [9/24] - in /james/site/trunk/www: ./ maven-skin/
maven-skin/css/ maven-skin/images/logos/ parent/ parent/css/
parent/images/logos/ server/ server/2.2.0/ server/2.2.0/css/ server/archive/
Modified: james/site/trunk/www/server/2.2.0/fetchmail_configuration.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/server/2.2.0/fetchmail_configuration.html?rev=809563&r1=809562&r2=809563&view=diff
==============================================================================
--- james/site/trunk/www/server/2.2.0/fetchmail_configuration.html (original)
+++ james/site/trunk/www/server/2.2.0/fetchmail_configuration.html Mon Aug 31 12:54:19 2009
@@ -11,26 +11,25 @@
<html>
<head>
- <title>James Server 2.2.0 -
- James 2.2 - fetchmail Configurartion</title>
+ <title>James Server 2.2.0 - James 2.2 - fetchmail Configurartion</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body class="composite">
<div id="banner">
<a href="http://james.apache.org/server/" id="bannerLeft">
- <img src="images/james-server-logo.gif" alt="" />
+ <img src="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0" alt="" />
</a>
<a href="http://www.apache.org/" id="bannerRight">
- <img src="images/asf-logo-reduced.gif" alt="" />
+ <img src="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0" alt="" />
</a>
<div class="clear">
@@ -46,25 +45,25 @@
<div class="xleft">
- Last Published: 08/03/2009
+ Last Published: 08/31/2009
</div>
- <div class="xright"> <a href="../../../../../people.apache.org/www/james.apache.org/index.html">JAMES Project</a>
+ <div class="xright"> <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">JAMES Project</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/imap/index.html">IMAP</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">IMAP</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/jsieve/index.html">JSieve</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">JSieve</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/jspf/index.html">jSPF</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">jSPF</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/mime4j/index.html">Mime4J</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mime4J</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/mailet/index.html">Mailets</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mailets</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/mpt/index.html">MPT</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">MPT</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/server/index.html">Server</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/postage/index.html">Postage</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Postage</a>
@@ -90,11 +89,11 @@
<ul>
<li class="none">
- <a href="../index.html">Overview</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Overview</a>
</li>
<li class="none">
- <a href="../design_objectives.html">Objectives</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Objectives</a>
</li>
@@ -102,17 +101,17 @@
<li class="expanded">
- <a href="../FAQ.html">James FAQ</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">James FAQ</a>
<ul>
<li class="none">
- <a href="../james_and_sendmail.html">James and Sendmail</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">James and Sendmail</a>
</li>
</ul>
</li>
<li class="none">
- <a href="../rfclist.html">Useful RFCs</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Useful RFCs</a>
</li>
<li class="none">
@@ -127,149 +126,149 @@
<ul>
<li class="none">
- <a href="summary.html">Summary</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Summary</a>
</li>
<li class="none">
- <a href="spoolmanager.html">SpoolManager</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SpoolManager</a>
</li>
<li class="none">
- <a href="repositories.html">Repositories</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Repositories</a>
</li>
<li class="none">
- <a href="mailet_api.html">The Mailet API</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">The Mailet API</a>
</li>
</ul>
<h5>How to...</h5>
<ul>
<li class="none">
- <a href="build_instructions.html">Build James</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Build James</a>
</li>
<li class="none">
- <a href="installation_instructions.html">Install James</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Install James</a>
</li>
</ul>
<h5>Configuration</h5>
<ul>
<li class="none">
- <a href="dns_configuration.html">DNS Server</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">DNS Server</a>
</li>
<li class="none">
- <a href="pop3_configuration.html">POP3 Server</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">POP3 Server</a>
</li>
<li class="none">
- <a href="smtp_configuration.html">SMTP Server</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SMTP Server</a>
</li>
<li class="none">
- <a href="nntp_configuration.html">NNTP Server</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">NNTP Server</a>
</li>
<li class="none">
- <a href="fetchpop_configuration.html">FetchPOP</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">FetchPOP</a>
</li>
<li class="none">
- <strong>FetchMail</strong>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">FetchMail</a>
</li>
<li class="none">
- <a href="remotemanager_configuration.html">RemoteManager</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">RemoteManager</a>
</li>
<li class="none">
- <a href="repositories.html">Repository</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Repository</a>
</li>
<li class="none">
- <a href="spoolmanager_configuration.html">SpoolManager</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SpoolManager</a>
</li>
<li class="none">
- <a href="serverwide_configuration.html">Server-wide</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server-wide</a>
</li>
<li class="none">
- <a href="adding_users.html">Adding Users</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Adding Users</a>
</li>
<li class="none">
- <a href="provided_matchers.html">Provided Matchers</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Provided Matchers</a>
</li>
<li class="none">
- <a href="provided_mailets.html">Provided Mailets</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Provided Mailets</a>
</li>
</ul>
<h5>Common Configurations</h5>
<ul>
<li class="none">
- <a href="smtp_auth.html">Using SMTP AUTH</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using SMTP AUTH</a>
</li>
<li class="none">
- <a href="using_database.html">Using a Database with James</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using a Database with James</a>
</li>
<li class="none">
- <a href="usingTLS.html">Using TLS/SSL</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using TLS/SSL</a>
</li>
<li class="none">
- <a href="mailing_lists.html">Creating Mailing Lists</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Creating Mailing Lists</a>
</li>
</ul>
<h5>Customization</h5>
<ul>
<li class="none">
- <a href="custom_matcher.html">How to write a custom Matcher</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">How to write a custom Matcher</a>
</li>
<li class="none">
- <a href="custom_mailet.html">How to write a custom Mailet</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">How to write a custom Mailet</a>
</li>
</ul>
<h5>Project</h5>
<ul>
<li class="none">
- <a href="changelog.html">Changelog</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Changelog</a>
</li>
</ul>
<h5>Documentation</h5>
<ul>
<li class="none">
- <a href="../head/index.html">Development 3.0</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Development 3.0</a>
</li>
<li class="none">
- <a href="../2.3.2/index.html">Candidate 2.3.2</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Candidate 2.3.2</a>
</li>
<li class="none">
- <a href="../2.3.1/index.html">Server 2.3.1</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.3.1</a>
</li>
<li class="none">
- <a href="../2.3.0/index.html">Server 2.3.0</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.3.0</a>
</li>
<li class="none">
- <a href="../2.2.0/index.html">Server 2.2.0</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.2.0</a>
</li>
<li class="none">
- <a href="../archive/document_archive.html">Archive</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Archive</a>
</li>
</ul>
<h5>Download</h5>
@@ -280,7 +279,7 @@
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/download.cgi">Releases</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Releases</a>
</li>
<li class="none">
@@ -295,23 +294,23 @@
<ul>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/index.html">Overview</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Overview</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/newsarchive.html">News</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">News</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/mail.html">Mailing Lists</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mailing Lists</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/contribute.html">Contributing</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Contributing</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/guidelines.html">Project Guidelines</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Project Guidelines</a>
</li>
<li class="none">
@@ -319,11 +318,11 @@
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/weare.html">Who We Are</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Who We Are</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/license.html">License</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">License</a>
</li>
</ul>
<h5>Apache Software Foundation</h5>
@@ -363,38 +362,27 @@
</div>
<div id="bodyColumn">
<div id="contentBox">
-
-
-
-
-<a name="fetchmail"></a><div class="section"><h2>fetchmail</h2>
+ <div class="section"><h2><a name="fetchmail"></a>fetchmail</h2>
<p>fetchmail acts as a gateway between an external message store such as an IMAP
or POP3 server and James. Mail is fetched from the external message store and
injected into the James input spool.</p>
-
<p>fetchmail is useful when delivery via standard SMTP is not an option, as a
means of consolidating mail delivered to several external accounts into a single
James account, or to apply the mail processing capabilities of James to mail
stored in an external message store.</p>
-
<p>fetchmail has several configuration options that control the fetching and
filtering of mail injected into the James input spool. Once there, James'
flexible mail processing engine can be used to further process the mail, just as
if it had been delivered via standard SMTP.</p>
-
-<p>
-<a href="#How fetchmail Works">How fetchmail Works</a><br></br>
-<a href="#fetchmail Configuration Parameters">fetchmail Configuration Parameters</a><br></br>
-<a href="#fetchmail Examples">fetchmail Examples</a><br></br>
-<a href="#fetchmail Caveats">fetchmail Caveats</a>
-</p>
+<p><a href="#How fetchmail Works">How fetchmail Works</a><br />
+<a href="#fetchmail Configuration Parameters">fetchmail Configuration Parameters</a><br />
+<a href="#fetchmail Examples">fetchmail Examples</a><br />
+<a href="#fetchmail Caveats">fetchmail Caveats</a></p>
</div>
-
-<a name="How fetchmail Works"></a><div class="section"><h2>How fetchmail Works</h2>
+<div class="section"><h2><a name="How_fetchmail_Works"></a>How fetchmail Works</h2>
<p>Mail is delivered by periodically running fetch tasks that read messages from
an external message store and injects them into the James input spool. Fetch
tasks run concurrently.</p>
-
<p>A set of filters applies to each fetch task. Each filter provides the ability
to reject a message that matches the filter criteria. Rejected messages are not
injected into the James input spool; they are either marked as seen or deleted.
@@ -402,26 +390,21 @@
messages are marked with a MailAttribute. This MailAttribute can be detected
within the James matcher/mailet chain, allowing further processing as
required.</p>
-
<p>Each fetch task is associated with a single host server. Accounts are defined
to the fetch task for each mailbox on the server from which mail is to be
fetched. Accounts run consecutively.</p>
-
<p>Optionally, the fetch task can be configured with an <alllocal> Account that
generates an Account entry for each user defined in the James user repository.
This removes the requirement to manually add or remove Account entries to the
fetchmail configuration each time a James user is added or removed. Currently
this is only useful if the server supports virtual mailboxes that allow the same
password to apply to all users within a domain.</p>
-
<p>Accounts can be configured to deliver all mail for an Account to a specified
recipient or to deduce the intended recipient from the mail headers.</p>
-
<p>Accounts are normally configured to deliver all mail for an Account to a
specified recipient, ignoring the recipient in the mail headers. This works well
in the majority of cases where a mailbox is guaranteed to contain mail for a sole
mailbox recipient.</p>
-
<p>Accounts are configured to deduce the intended recipient from the mail headers
when a mailbox contains mail for several users, typically all users in a domain.
Used alone, this is not foolproof as there are circumstances when a single unique
@@ -429,57 +412,44 @@
an appropriately configured <alllocal> account, it is always possible to deduce
the intended recipient when the recipient is a James user.</p>
</div>
-
-<a name="fetchmail Configuration Parameters"></a><div class="section"><h2>fetchmail Configuration Parameters</h2>
+<div class="section"><h2><a name="fetchmail_Configuration_Parameters"></a>fetchmail Configuration Parameters</h2>
<p>The fetchmail configuration parameters are part of the James configuration,
whose base file is <code>config.xml</code>. For clarity and flexibility, the
fetchmail configuration parameters are stored in the file
<code>james-fetchmail.xml</code>, which is referenced within
<code>config.xml</code>.</p>
-
<p>The configuration parameters are described below.</p>
-
-<a name="fetchmail"></a><div class="section"><h3>fetchmail</h3>
+<div class="section"><h3><a name="fetchmail"></a>fetchmail</h3>
<p>The configuration block delimited by the <strong>fetchmail</strong> tag
controls fetchmail.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>enabled</strong></dt>
+<dl><dt><strong>enabled</strong></dt>
<dd>A boolean. If "true", the fetch tasks will be run periodically. If "false",
no fetch tasks will be run. The default is "false".</dd>
</dl>
</p>
-
<p>The tag has these child tags (minimum cardinality, maximum cardinality):
-<ul>
-<li><strong><a href="#fetch">fetch</a></strong> (0, *)</li>
+<ul><li><strong><a href="#fetch">fetch</a></strong> (0, *)</li>
</ul>
-
-
-<p>
-<div class="source"><pre>
+</p>
+<p><div class="source"><pre>
<fetchmail enabled="true">
...
</fetchmail>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="fetch"></a><div class="section"><h3>fetch</h3>
+<div class="section"><h3><a name="fetch"></a>fetch</h3>
<p>The <strong>fetch</strong> tag defines a fetch task to be run
periodically. Fetch tasks run concurrently.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>name</strong></dt>
+<dl><dt><strong>name</strong></dt>
<dd>A string uniquely identifying the fetch task.</dd>
</dl>
</p>
-
<p>The tag has these child tags (minimum cardinality, maximum cardinality):
-<ul>
-<li><strong><a href="#accounts">accounts</a></strong> (1, 1)</li>
+<ul><li><strong><a href="#accounts">accounts</a></strong> (1, 1)</li>
<li><strong><a href="#blacklist">blacklist</a></strong> (1, 1)</li>
<li><strong><a href="#defaultdomain">defaultdomain</a></strong> (0, 1)</li>
<li><strong><a href="#fetchall">fetchall</a></strong> (1, 1)</li>
@@ -497,47 +467,38 @@
<li><strong><a href="#undeliverable">undeliverable</a></strong> (1, 1)</li>
<li><strong><a href="#userundefined">userundefined</a></strong> (1, 1)</li>
</ul>
-
-
-
-<div class="source"><pre>
+</p>
+<p><div class="source"><pre>
<fetch name="mydomain.com">
...
</fetch>
-</pre></div>
-
+</pre>
</div>
-
-<a name="accounts"></a><div class="section"><h3>accounts</h3>
-The <strong>accounts</strong> tag declares the accounts from which mail will
-be fetched by the fetch task. Accounts run concurrently.
-
-The tag has these child tags (minimum cardinality, maximum cardinality):
-<ul>
-<li><strong><a href="#account">account</a></strong> (0, *)</li>
+</p>
+</div>
+<div class="section"><h3><a name="accounts"></a>accounts</h3>
+<p>The <strong>accounts</strong> tag declares the accounts from which mail will
+be fetched by the fetch task. Accounts run concurrently.</p>
+<p>The tag has these child tags (minimum cardinality, maximum cardinality):
+<ul><li><strong><a href="#account">account</a></strong> (0, *)</li>
<li><strong><a href="#alllocal">alllocal</a></strong> (0, 1)</li>
</ul>
-
-
-
-<div class="source"><pre>
+</p>
+<p><div class="source"><pre>
<accounts>
...
</accounts>
-</pre></div>
-
+</pre>
</div>
-
-<a name="blacklist"></a><div class="section"><h3>blacklist</h3>
-The <strong>blacklist</strong> tag declares a list of recipient addresses
-for whom mail will be rejected and what happens to the rejected mail.
-
-The tag value is a tab, comma or space delimited list of recipient
-addresses, eg: <code>wibble@mydomain.com, flobble@mydomain.com</code>.
-
-The tag has these attributes:
-<dl>
-<dt><strong>reject</strong></dt>
+</p>
+</div>
+<div class="section"><h3><a name="blacklist"></a>blacklist</h3>
+<p>The <strong>blacklist</strong> tag declares a list of recipient addresses
+for whom mail will be rejected and what happens to the rejected mail.</p>
+<p>The tag value is a tab, comma or space delimited list of recipient
+addresses, eg: <code>wibble@mydomain.com, flobble@mydomain.com</code>.</p>
+<p>The tag has these attributes:
+<dl><dt><strong>reject</strong></dt>
<dd>A boolean. If "true", mail for recipients in the blacklist will
not be injected into the James input spool. If "false", mail for
recipients in the blacklist will be injected into the James input spool with the
@@ -552,62 +513,51 @@
marked as seen on the server. If "false", mail for recipients in the blacklist
will not be marked as seen.</dd>
</dl>
-
-
-
-<div class="source"><pre>
+</p>
+<p><div class="source"><pre>
<blacklist
reject="true"
leaveonserver="true"
markseen="true">
wibble@mydomain.com, flobble@mydomain.com
</blacklist>
-</pre></div>
-
+</pre>
</div>
-
-<a name="defaultdomain"></a><div class="section"><h3>defaultdomain</h3>
-The <strong>defaultdomain</strong> tag declares the domain name to be
+</p>
+</div>
+<div class="section"><h3><a name="defaultdomain"></a>defaultdomain</h3>
+<p>The <strong>defaultdomain</strong> tag declares the domain name to be
appended to the <code>From:</code> header of a mail that has a valid user part
-but is missing the domain part.
-
-If not specified, the default behaviour is to append the canonical host name
-of the James server.
-
-The tag value is the name of the server to append. The name must be a server
+but is missing the domain part.</p>
+<p>If not specified, the default behaviour is to append the canonical host name
+of the James server.</p>
+<p>The tag value is the name of the server to append. The name must be a server
declared in the <strong>servernames</strong> tag of the <strong>James</strong>
-block in the configuration or the name <code>localhost</code>.
-
-
-<div class="source"><pre>
+block in the configuration or the name <code>localhost</code>.</p>
+<p><div class="source"><pre>
<defaultdomain>
mydomain.com
</defaultdomain>
-</pre></div>
-
+</pre>
</div>
-
-<a name="fetchall"></a><div class="section"><h3>fetchall</h3>
-The <strong>fetchall</strong> tag declares if all mail should be fetched from
-the server, or just unseen mail.
-
-The tag value is a boolean. If true, all mail is fetched. If false, only
-unseen mail is fetched.
-
-
-<div class="source"><pre>
+</p>
+</div>
+<div class="section"><h3><a name="fetchall"></a>fetchall</h3>
+<p>The <strong>fetchall</strong> tag declares if all mail should be fetched from
+the server, or just unseen mail.</p>
+<p>The tag value is a boolean. If true, all mail is fetched. If false, only
+unseen mail is fetched.</p>
+<p><div class="source"><pre>
<fetchall>false</fetchall>
-</pre></div>
-
+</pre>
</div>
-
-<a name="fetched"></a><div class="section"><h3>fetched</h3>
-The <strong>fetched</strong> tag declares what will happen to mail on the
-external server that is successfully injected into the James input spool.
-
-The tag has these attributes:
-<dl>
-<dt><strong>leaveonserver</strong></dt>
+</p>
+</div>
+<div class="section"><h3><a name="fetched"></a>fetched</h3>
+<p>The <strong>fetched</strong> tag declares what will happen to mail on the
+external server that is successfully injected into the James input spool.</p>
+<p>The tag has these attributes:
+<dl><dt><strong>leaveonserver</strong></dt>
<dd>A boolean. If "true", mail injected into the James input spool
will be left on the server. If "false", mail injected into the James
input spool will be marked for deletion.</dd>
@@ -616,120 +566,97 @@
will be marked as seen on the server. If "false", mail injected into
the James input spool will not be marked as seen.</dd>
</dl>
-
-
-
-<div class="source"><pre>
+</p>
+<p><div class="source"><pre>
<fetched leaveonserver="true" markseen="true"/>
-</pre></div>
-
+</pre>
</div>
-
-<a name="host"></a><div class="section"><h3>host</h3>
+</p>
+</div>
+<div class="section"><h3><a name="host"></a>host</h3>
<p>The <strong>host</strong> tag declares the IP address of the external
server from which mail is fetched.</p>
-
<p>The tag value is the DNS name or IP address literal of the external
server.</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<host>pop3.server.com</host>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="interval"></a><div class="section"><h3>interval</h3>
+<div class="section"><h3><a name="interval"></a>interval</h3>
<p>The <strong>interval</strong> tag declares the period between invocations of
the fetch tasks. If a fetch task is still active from a previous invocation
when the period expires, the new invocation is skipped over.</p>
-
<p>The tag value is an integer representing the number of milliseconds to elapse
between invocations of the fetch tasks.</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<interval>60000</interval>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="javaMailFolderName"></a><div class="section"><h3>javaMailFolderName</h3>
+<div class="section"><h3><a name="javaMailFolderName"></a>javaMailFolderName</h3>
<p>The <strong>javaMailFolderName</strong> tag declares the name of the root
folder on the external server from which mail is fetched.</p>
-
<p>The tag value is the cAsE-sEnSiTiVe name of the root folder on the external
server from which mail is fetched. For POP3 servers this is always
<code>INBOX</code>.</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<javaMailFolderName>INBOX</javaMailFolderName>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="javaMailProperties"></a><div class="section"><h3>javaMailProperties</h3>
+<div class="section"><h3><a name="javaMailProperties"></a>javaMailProperties</h3>
<p>The <strong>javaMailProperties</strong> tag declares the properties to be
applied to the JavaMail Session used by the fetch task. These override the
properties answered by <code>System.getProperties()</code>. Many JavaMail
properties are specific to the JavaMail Provider selected by the
<a href="#javaMailProviderName">javaMailProviderName</a> tag.</p>
-
<p><strong>Relying on the default values selected by the Provider can be
inappropriate.</strong> For instance, the default connection and I/O timeout
values of infinite for the default IMAP and POP3 Providers is rarely what is
required. Consult the documentation of the Provider for details and options.</p>
-
<p>Documentation for the default Provider for IMAP is located
-<a href="http://java.sun.com/products/javamail/javadocs/com/sun/mail/imap/package-summary.html">
+<a class="externalLink" href="http://java.sun.com/products/javamail/javadocs/com/sun/mail/imap/package-summary.html">
here</a>.</p>
-
<p>Documentation for the default Provider for POP3 is located
-<a href="http://java.sun.com/products/javamail/javadocs/com/sun/mail/pop3/package-summary.html">
+<a class="externalLink" href="http://java.sun.com/products/javamail/javadocs/com/sun/mail/pop3/package-summary.html">
here</a>.</p>
-
<p>Details of how to change a Provider are located
-<a href="http://java.sun.com/products/javamail/javadocs/javax/mail/Session.html">
+<a class="externalLink" href="http://java.sun.com/products/javamail/javadocs/javax/mail/Session.html">
here</a>.</p>
-
<p>The tag has these child tags (minimum cardinality, maximum cardinality):
-<ul>
-<li><strong><a href="#property">property</a></strong> (0, *)</li>
+<ul><li><strong><a href="#property">property</a></strong> (0, *)</li>
</ul>
-
-
-<p>
-<div class="source"><pre>
+</p>
+<p><div class="source"><pre>
<javaMailProperties>
...
</javaMailProperties>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="javaMailProviderName"></a><div class="section"><h3>javaMailProviderName</h3>
+<div class="section"><h3><a name="javaMailProviderName"></a>javaMailProviderName</h3>
<p>The <strong>javaMailProviderName</strong> tag selects the JavaMail protocol
Provider used to interact with the external server.</p>
-
<p>The tag value is the name of a JavaMail supported protocol, such as
<code>pop3</code> or <code>imap</code>. The name is used to select the default
Provider for the protocol.</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<javaMailProviderName>pop3</javaMailProviderName>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="maxmessagesize"></a><div class="section"><h3>maxmessagesize</h3>
+<div class="section"><h3><a name="maxmessagesize"></a>maxmessagesize</h3>
<p>The <strong>maxmessagesize</strong> tag declares the maximum permitted message
size for messages injected into the James input spool and what happens to fetched
messages that exceed this size.</p>
<p>The tag has these attributes:
-<dl>
-<dt><strong>limit</strong></dt>
+<dl><dt><strong>limit</strong></dt>
<dd>An integer. The maximum message size expressed in Kilobytes. If 0, there is
no limit.</dd>
<dt><strong>reject</strong></dt>
@@ -750,36 +677,30 @@
seen.</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<maxmessagesize
limit="4096"
reject="false"
leaveonserver="false"
markseen="false"/>
-</pre></div>
+</pre>
+</div>
</p>
-
<p>An example configuration using James mailet processing to bounce fetched
messages that exceed the maximum permitted size can be found in the file
<code>$PHOENIX_HOME/apps/james/conf/samples/fetchmail/maxMessageSize.xml</code>.
</p>
</div>
-
-<a name="recipientnotfound"></a><div class="section"><h3>recipientnotfound</h3>
+<div class="section"><h3><a name="recipientnotfound"></a>recipientnotfound</h3>
<p>The <strong>recipientnotfound</strong> tag declares what happens to mail for
which a sole intended recipient cannot be found when attempting to determine
the recipient from the mail headers.</p>
-
<p>In configurations with more than one account per fetch task, processing of
matched mail can be deferred to the next run of the fetch task. This gives
other accounts that may be able to determine a sole intended recipient an
opportunity to do so before recipientnotfound processing is invoked.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>defer</strong></dt>
+<dl><dt><strong>defer</strong></dt>
<dd>A boolean. If "true", mail for which a sole intended recipient
cannot be determined is left unprocessed until the next run of the fetch task.
If "false", mail for which a sole intended recipient cannot be
@@ -804,51 +725,43 @@
as seen.</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<recipientnotfound
defer="true"
reject="true"
leaveonserver="true"
markseen="true"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="recursesubfolders"></a><div class="section"><h3>recursesubfolders</h3>
+<div class="section"><h3><a name="recursesubfolders"></a>recursesubfolders</h3>
<p>The <strong>recursesubfolders</strong> tag declares if mail should be fetched
from sub-folders of the root folder, or just the root folder.</p>
-
<p>The tag value is a boolean. If true, mail is fetched from the root folder and
its subfolders. If false, mail is fetched from just the root folder.</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<recursesubfolders>false</recursesubfolders>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="remoteReceivedHeader"></a><div class="section"><h3>remoteReceivedHeader</h3>
+<div class="section"><h3><a name="remoteReceivedHeader"></a>remoteReceivedHeader</h3>
<p>The <strong>remoteReceivedHeader</strong> tag declares the zero based
index of the RFC2822 compliant RECEIVED header used to determine the address and
host name of the remote MTA that sent a fetched message and what happens to
messages when the specified header is invalid.</p>
-
<p>Typically, the first (index = 0) RECEIVED header is for the local MTA that
delivered the message to the message store and the second (index = 1) RECEIVED
header is for the remote MTA that delivered the message to the local MTA. When
this configuration applies, the <strong>remoteReceivedHeaderIndex</strong> should
be set to <strong>1</strong>.
</p>
-
<p>To verify the correct setting, examine the RECEIVED headers for messages
delivered to the configured message store and locate the first one containing a
remote domain in the'from' field. Remembering that zero based indexing is used,
if this the second header, use an index of 1, if this is the third header, use an
index of 2, and so forth.</p>
-
<p>Matchers such as InSpammerBlacklist use the remote address and/or remote host
name to identify illegitimate remote MTAs. If you do not use such matchers, the
<strong>remoteReceivedHeaderIndex</strong> tag may be omitted or the default
@@ -856,10 +769,8 @@
<code>127.0.0.1</code> and the remote host name to be set to
<code>localhost</code>. Matchers almost always considered these values to be
legitimate.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>index</strong></dt>
+<dl><dt><strong>index</strong></dt>
<dd>An integer whose meaning is described above.
</dd>
<dt><strong>reject</strong></dt>
@@ -880,32 +791,27 @@
recieved header is invalid will not be marked as seen.</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<remoteReceivedHeader
index="1"
reject="true"
leaveonserver="true"
markseen="true"/>
-</pre></div>
+</pre>
+</div>
</p>
-
<p>An example configuration using James mailet processing to notify the postmaster
of fetched messages that contain an invalid Received header can be found in the file
<code>$PHOENIX_HOME/apps/james/conf/samples/fetchmail/remoteReceivedHeader.xml</code>.
</p>
</div>
-
-<a name="remoterecipient"></a><div class="section"><h3>remoterecipient</h3>
+<div class="section"><h3><a name="remoterecipient"></a>remoterecipient</h3>
<p>The <strong>remoterecipient</strong> tag declares what happens to mail for
which the domain part of the recipient is remote. A domain is remote if it is
not a server declared in the <strong>servernames</strong> tag of the
<strong>James</strong> block in the configuration.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>reject</strong></dt>
+<dl><dt><strong>reject</strong></dt>
<dd>A boolean. If "true", mail for remote recipients will not be
injected into the James input spool. If "false", mail for remote
recipients will be injected into the James input spool with the Mail Attribute
@@ -921,24 +827,20 @@
marked as seen.</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<remoterecipient
reject="true"
leaveonserver="true"
markseen="true"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="undeliverable"></a><div class="section"><h3>undeliverable</h3>
+<div class="section"><h3><a name="undeliverable"></a>undeliverable</h3>
<p>The <strong>undeliverable</strong> tag declares what happens to mail that
cannot be delivered.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>leaveonserver</strong></dt>
+<dl><dt><strong>leaveonserver</strong></dt>
<dd>A boolean. If "true", mail that cannot be delivered will be left
on the server. If "false", mail that cannot be delivered will be
marked for deletion.</dd>
@@ -948,23 +850,19 @@
delivered will not be marked as seen.</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<undeliverable
leaveonserver="true"
markseen="true"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="userundefined"></a><div class="section"><h3>userundefined</h3>
+<div class="section"><h3><a name="userundefined"></a>userundefined</h3>
<p>The <strong>userundefined</strong> tag declares what happens to mail for
which the recipient is not defined as a James user.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>reject</strong></dt>
+<dl><dt><strong>reject</strong></dt>
<dd>A boolean. If "true", mail for recipients who are not defined as
James users will not be injected into the James input spool. If
"false", mail for recipients who are not defined as James users will
@@ -982,24 +880,20 @@
</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<userundefined
reject="true"
leaveonserver="true"
markseen="true"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="account"></a><div class="section"><h3>account</h3>
+<div class="section"><h3><a name="account"></a>account</h3>
<p>The <strong>account</strong> tag declares an account on the external server
from which mail should be fetched.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>user</strong></dt>
+<dl><dt><strong>user</strong></dt>
<dd>The string to be passed as the user when connecting to the external server.
</dd>
<dt><strong>password</strong></dt>
@@ -1016,27 +910,23 @@
</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<account
user="myaccount"
password="mypassword"
recipient="user@localhost"
ignorercpt-header="true"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="alllocal"></a><div class="section"><h3>alllocal</h3>
+<div class="section"><h3><a name="alllocal"></a>alllocal</h3>
<p>The <strong>alllocal</strong> tag declares the parameters to be applied to
dynamic accounts. The set of dynamic accounts is refreshed each time the fetch
task runs by combining the <strong>alllocal</strong> tag attributes with each of
the currently defined James users to create an account for every James user.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>userprefix</strong></dt>
+<dl><dt><strong>userprefix</strong></dt>
<dd>The string to be added before the James user when constructing the string
passed as the user when connecting to the external server.
</dd>
@@ -1064,9 +954,7 @@
</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<alllocal
userprefix=""
usersuffix="@external.domain.com"
@@ -1074,46 +962,38 @@
recipientprefix=""
recipientsuffix="@mydomain.com"
ignorercpt-header="true"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="property"></a><div class="section"><h3>property</h3>
+<div class="section"><h3><a name="property"></a>property</h3>
<p>The <strong>property</strong> tag declares a name/value pair.</p>
-
<p>The tag has these attributes:
-<dl>
-<dt><strong>name</strong></dt>
+<dl><dt><strong>name</strong></dt>
<dd>The name of the property.
</dd>
<dt><strong>value</strong></dt>
<dd>The value of the property.</dd>
</dl>
</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<property
name="mail.pop3.connectiontimeout"
value="180000"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
</div>
-
-<a name="fetchmail Examples"></a><div class="section"><h2>fetchmail Examples</h2>
+<div class="section"><h2><a name="fetchmail_Examples"></a>fetchmail Examples</h2>
<p>Full sources to the examples discussed below can be found in the directory
<code>$PHOENIX_HOME/apps/james/conf/samples/fetchmail</code>.</p>
-
-<a name="One Account, One User"></a><div class="section"><h3>One Account, One User</h3>
+<div class="section"><h3><a name="One_Account_One_User"></a>One Account, One User</h3>
<p>When all mail for an account is to be delivered to a single user,
configure each account to ignore the recipient in the mail headers and deliver
to the specified recipient. The <strong>accounts</strong> block looks like
this:</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<accounts>
<account
user="user1@external.domain.com"
@@ -1133,17 +1013,15 @@
recipient="user3@localhost"
ignorercpt-header="true"/>
</accounts>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="One Account, Many Users"></a><div class="section"><h3>One Account, Many Users</h3>
+<div class="section"><h3><a name="One_Account_Many_Users"></a>One Account, Many Users</h3>
<p>When an account contains mail to be delivered to many users, configure each
account to determine the recipient from the mail headers and deliver to that
user. The <strong>accounts</strong> block looks like this:</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<accounts>
<account
user="global@external.domain.com"
@@ -1151,43 +1029,37 @@
recipient="fetchmail@localhost"
ignorercpt-header="false"/>
</accounts>
-</pre></div>
+</pre>
+</div>
</p>
-
<p>The <strong>recipientnotfound</strong> tag is used to declare what happens
when the recipient cannot be determined from the mail headers. In the example
below, mail is injected into the spool using the recipient declared in the
<strong>account</strong> tag:</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<recipientnotfound
defer="false"
reject="false"
leaveonserver="false"
markseen="false"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="One Account, One User - Dynamic"></a><div class="section"><h3>One Account, One User - Dynamic</h3>
+<div class="section"><h3><a name="One_Account_One_User_-_Dynamic"></a>One Account, One User - Dynamic</h3>
<p>When an external server supports virtual mailboxes, fetchmail's dynamic
account facility can be used. This greatly simplifies user configuration as
the fetchmail accounts for users are automatically synchronized with those
defined in the James user repository. This guarantees that mail for all local
users will be fetched and delivered.</p>
-
<p>Currently, there is a limitation that all virtual accounts and the global
account must share the same password.</p>
-
<p>The <strong>alllocal</strong> tag declares the parameters for the dynamic
accounts. The <strong>accounts</strong> block below will deliver mail for
<code>user1@external.domain.com</code> to <code>user1@localhost</code>,
<code>user2@external.domain.com</code> to <code>user2@localhost</code>,
<code>userZ@external.domain.com</code> to <code>userZ@localhost</code> etc.:</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<accounts>
<alllocal
userprefix=""
@@ -1197,11 +1069,11 @@
recipientsuffix="@localhost"
ignorercpt-header="true"/>
</accounts>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
-<a name="One Account, Many Users - Dynamic"></a><div class="section"><h3>One Account, Many Users - Dynamic</h3>
+<div class="section"><h3><a name="One_Account_Many_Users_-_Dynamic"></a>One Account, Many Users - Dynamic</h3>
<p>The
<a href="#One Account, One User - Dynamic">One Account, One User - Dynamic</a>
example guarantees delivery of mail for all local users, but leaves other mail
@@ -1210,11 +1082,9 @@
processes all mail on the external server, but cannot guarantee delivery to the
intended recipient. By combining the two, it is possible to guarantee the
delivery of mail for all local users and process all mail.</p>
-
<p>In the snippet below, the <strong>alllocal</strong> tag declares dynamic
accounts for all local users and the <strong>account</strong> tag configures an
account to fetch all mail.</p>
-
<p>The <strong>recipientnotfound</strong> tag rejects mail for which a recipient
cannot be determined. By the time this processing is activated, the dynamic
accounts will have processed mail for all local users, so the mail can
@@ -1223,14 +1093,11 @@
dealt with by the dynamic accounts. The next time the dynamic accounts run any
newly arrived mail for local users will be processed. The remainder will be for
non-local users and can now be safely dealt with.</p>
-
<p>The <code><recipientnotfound defer="true"</code> attribute
enables deferal of the processing of messages for which the recipient cannot be
determined to the next iteration of the fetch task, and is used here. The
relevant tags are:</p>
-
-<p>
-<div class="source"><pre>
+<p><div class="source"><pre>
<accounts>
<alllocal
userprefix=""
@@ -1252,28 +1119,24 @@
reject="true"
leaveonserver="true"
markseen="true"/>
-</pre></div>
+</pre>
+</div>
</p>
</div>
-
</div>
-
-<a name="fetchmail Caveats"></a><div class="section"><h2>fetchmail Caveats</h2>
+<div class="section"><h2><a name="fetchmail_Caveats"></a>fetchmail Caveats</h2>
<p>These are some things to be aware of when using fetchmail:
-<ul>
-<li>As noted in the
+<ul><li>As noted in the
<a href="#One Account, One User - Dynamic">One Account, One User - Dynamic</a>
example, all virtual accounts and the global account must share the same
password. A future version might associate each James user to a set of account
credentials.
</li>
-
<li>When using dynamic accounts, an account is generated and an attempt made to
fetch mail for all James users defined to James even if there is no such mailbox
on the server. This is inefficient but not fatal. The solution is the same as
described above.
</li>
-
<li>When using dynamic accounts, as described in the
<a href="#One Account, Many Users - Dynamic">One Account, Many Users - Dynamic</a>
example, the user name used to fetch the mail for all accounts must not be
@@ -1281,7 +1144,6 @@
and fetch all the mail before the account declared to process mail for all users
has an opportunity to run!
</li>
-
<li>The now deprecated fetchPOP interacted with the <code>FetchedFrom</code>
matcher to detect mail injected by fetchPOP. This will not work with fetchmail.
Compared to fetchPOP, there are far fewer occasions when mail injected by
@@ -1293,7 +1155,6 @@
attribute value. The attribute value is the name of the fetch task that
injected the mail.
</li>
-
<li>The POP3 protocol does not enforce support of any of the Flags associated
with messages other than DELETED. This means that
<code>markseen="true"</code> will most likely have no effect and
@@ -1302,13 +1163,9 @@
it from the server using <code>leaveonserver="false"/></code>.
</li>
</ul>
-
+</p>
</div>
-
-
-
-
</div>
</div>
<div class="clear">
Modified: james/site/trunk/www/server/2.2.0/fetchpop_configuration.html
URL: http://svn.apache.org/viewvc/james/site/trunk/www/server/2.2.0/fetchpop_configuration.html?rev=809563&r1=809562&r2=809563&view=diff
==============================================================================
--- james/site/trunk/www/server/2.2.0/fetchpop_configuration.html (original)
+++ james/site/trunk/www/server/2.2.0/fetchpop_configuration.html Mon Aug 31 12:54:19 2009
@@ -11,26 +11,25 @@
<html>
<head>
- <title>James Server 2.2.0 -
- James 2.1 - Configuring FetchPOP</title>
+ <title>James Server 2.2.0 - James 2.1 - Configuring FetchPOP</title>
<style type="text/css" media="all">
@import url("./css/maven-base.css");
@import url("./css/maven-theme.css");
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body class="composite">
<div id="banner">
<a href="http://james.apache.org/server/" id="bannerLeft">
- <img src="images/james-server-logo.gif" alt="" />
+ <img src="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0" alt="" />
</a>
<a href="http://www.apache.org/" id="bannerRight">
- <img src="images/asf-logo-reduced.gif" alt="" />
+ <img src="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0" alt="" />
</a>
<div class="clear">
@@ -46,25 +45,25 @@
<div class="xleft">
- Last Published: 08/03/2009
+ Last Published: 08/31/2009
</div>
- <div class="xright"> <a href="../../../../../people.apache.org/www/james.apache.org/index.html">JAMES Project</a>
+ <div class="xright"> <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">JAMES Project</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/imap/index.html">IMAP</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">IMAP</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/jsieve/index.html">JSieve</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">JSieve</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/jspf/index.html">jSPF</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">jSPF</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/mime4j/index.html">Mime4J</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mime4J</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/mailet/index.html">Mailets</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mailets</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/mpt/index.html">MPT</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">MPT</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/server/index.html">Server</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server</a>
|
- <a href="../../../../../people.apache.org/www/james.apache.org/postage/index.html">Postage</a>
+ <a href="../../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Postage</a>
@@ -90,11 +89,11 @@
<ul>
<li class="none">
- <a href="../index.html">Overview</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Overview</a>
</li>
<li class="none">
- <a href="../design_objectives.html">Objectives</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Objectives</a>
</li>
@@ -102,17 +101,17 @@
<li class="expanded">
- <a href="../FAQ.html">James FAQ</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">James FAQ</a>
<ul>
<li class="none">
- <a href="../james_and_sendmail.html">James and Sendmail</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">James and Sendmail</a>
</li>
</ul>
</li>
<li class="none">
- <a href="../rfclist.html">Useful RFCs</a>
+ <a href="../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Useful RFCs</a>
</li>
<li class="none">
@@ -127,149 +126,149 @@
<ul>
<li class="none">
- <a href="summary.html">Summary</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Summary</a>
</li>
<li class="none">
- <a href="spoolmanager.html">SpoolManager</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SpoolManager</a>
</li>
<li class="none">
- <a href="repositories.html">Repositories</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Repositories</a>
</li>
<li class="none">
- <a href="mailet_api.html">The Mailet API</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">The Mailet API</a>
</li>
</ul>
<h5>How to...</h5>
<ul>
<li class="none">
- <a href="build_instructions.html">Build James</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Build James</a>
</li>
<li class="none">
- <a href="installation_instructions.html">Install James</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Install James</a>
</li>
</ul>
<h5>Configuration</h5>
<ul>
<li class="none">
- <a href="dns_configuration.html">DNS Server</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">DNS Server</a>
</li>
<li class="none">
- <a href="pop3_configuration.html">POP3 Server</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">POP3 Server</a>
</li>
<li class="none">
- <a href="smtp_configuration.html">SMTP Server</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SMTP Server</a>
</li>
<li class="none">
- <a href="nntp_configuration.html">NNTP Server</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">NNTP Server</a>
</li>
<li class="none">
- <strong>FetchPOP</strong>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">FetchPOP</a>
</li>
<li class="none">
- <a href="fetchmail_configuration.html">FetchMail</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">FetchMail</a>
</li>
<li class="none">
- <a href="remotemanager_configuration.html">RemoteManager</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">RemoteManager</a>
</li>
<li class="none">
- <a href="repositories.html">Repository</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Repository</a>
</li>
<li class="none">
- <a href="spoolmanager_configuration.html">SpoolManager</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">SpoolManager</a>
</li>
<li class="none">
- <a href="serverwide_configuration.html">Server-wide</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server-wide</a>
</li>
<li class="none">
- <a href="adding_users.html">Adding Users</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Adding Users</a>
</li>
<li class="none">
- <a href="provided_matchers.html">Provided Matchers</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Provided Matchers</a>
</li>
<li class="none">
- <a href="provided_mailets.html">Provided Mailets</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Provided Mailets</a>
</li>
</ul>
<h5>Common Configurations</h5>
<ul>
<li class="none">
- <a href="smtp_auth.html">Using SMTP AUTH</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using SMTP AUTH</a>
</li>
<li class="none">
- <a href="using_database.html">Using a Database with James</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using a Database with James</a>
</li>
<li class="none">
- <a href="usingTLS.html">Using TLS/SSL</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Using TLS/SSL</a>
</li>
<li class="none">
- <a href="mailing_lists.html">Creating Mailing Lists</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Creating Mailing Lists</a>
</li>
</ul>
<h5>Customization</h5>
<ul>
<li class="none">
- <a href="custom_matcher.html">How to write a custom Matcher</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">How to write a custom Matcher</a>
</li>
<li class="none">
- <a href="custom_mailet.html">How to write a custom Mailet</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">How to write a custom Mailet</a>
</li>
</ul>
<h5>Project</h5>
<ul>
<li class="none">
- <a href="changelog.html">Changelog</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Changelog</a>
</li>
</ul>
<h5>Documentation</h5>
<ul>
<li class="none">
- <a href="../head/index.html">Development 3.0</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Development 3.0</a>
</li>
<li class="none">
- <a href="../2.3.2/index.html">Candidate 2.3.2</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Candidate 2.3.2</a>
</li>
<li class="none">
- <a href="../2.3.1/index.html">Server 2.3.1</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.3.1</a>
</li>
<li class="none">
- <a href="../2.3.0/index.html">Server 2.3.0</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.3.0</a>
</li>
<li class="none">
- <a href="../2.2.0/index.html">Server 2.2.0</a>
+ <a href="../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Server 2.2.0</a>
</li>
<li class="none">
- <a href="../archive/document_archive.html">Archive</a>
+ <a href="../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Archive</a>
</li>
</ul>
<h5>Download</h5>
@@ -280,7 +279,7 @@
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/download.cgi">Releases</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Releases</a>
</li>
<li class="none">
@@ -295,23 +294,23 @@
<ul>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/index.html">Overview</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Overview</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/newsarchive.html">News</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">News</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/mail.html">Mailing Lists</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Mailing Lists</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/contribute.html">Contributing</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Contributing</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/guidelines.html">Project Guidelines</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Project Guidelines</a>
</li>
<li class="none">
@@ -319,11 +318,11 @@
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/weare.html">Who We Are</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">Who We Are</a>
</li>
<li class="none">
- <a href="../../../../../people.apache.org/www/james.apache.org/license.html">License</a>
+ <a href="../../../../../../../../../../opt/development/workspace/james-project/../../../../../people.apache.org/www/james.apache.org/server/2.2.0">License</a>
</li>
</ul>
<h5>Apache Software Foundation</h5>
@@ -363,18 +362,12 @@
</div>
<div id="bodyColumn">
<div id="contentBox">
-
-
-
-
-
-<a name="FetchPOP Is Being Deprecated"></a><div class="section"><h2>FetchPOP Is Being Deprecated</h2>
+ <div class="section"><h2><a name="FetchPOP_Is_Being_Deprecated"></a>FetchPOP Is Being Deprecated</h2>
<p>FetchPOP is being deprecated.
<a href="fetchmail_configuration.html">fetchMail</a> provides a superset of
FetchPOP's functionality and is the preferred solution.</p>
</div>
-
-<a name="FetchPOP Configuration"></a><div class="section"><h2>FetchPOP Configuration</h2>
+<div class="section"><h2><a name="FetchPOP_Configuration"></a>FetchPOP Configuration</h2>
<p>FetchPOP is controlled by a configuration block in the config.xml.
The fetchpop tag defines the boundaries of the configuration block. It encloses
all the relevant configuration for the FetchPOP scheduler. The behavior of the POP service is
@@ -387,47 +380,48 @@
of each FetchPOP task must be unique.</p>
<p>In addition to the <strong>name</strong> attribute, the <strong>fetch</strong> tag has four
children, all of which are required.</p>
-<ul>
-<li><strong>host</strong> - The host name or IP address of the POP3 server hosting the mail to be fetched.</li>
+<ul><li><strong>host</strong> - The host name or IP address of the POP3 server hosting the mail to be fetched.</li>
<li><strong>user</strong> - The user name of the account whose mail is to be fetched.</li>
<li><strong>password</strong> - The password for the account whose mail is to be fetched.</li>
<li><strong>interval</strong> - A non-negative integer representing the number of milliseconds between fetches.</li>
</ul>
</div>
-<a name="Considerations When Handling Fetched Mail"></a><div class="section"><h2>Considerations When Handling Fetched Mail</h2>
-There are a number of issues which have to be considered when handling fetched mail, such as avoiding circular
-routing of mail. Some scenarios are described below with suggested configurations.
-
-<a name="Handling All Mail for a Domain"></a><div class="section"><h3>Handling All Mail for a Domain</h3>
-This is the intended primary use of FetchPOP.
+<div class="section"><h2><a name="Considerations_When_Handling_Fetched_Mail"></a>Considerations When Handling Fetched Mail</h2>
+<p>There are a number of issues which have to be considered when handling fetched mail, such as avoiding circular
+routing of mail. Some scenarios are described below with suggested configurations.</p>
+<div class="section"><h3><a name="Handling_All_Mail_for_a_Domain"></a>Handling All Mail for a Domain</h3>
+<p>This is the intended primary use of FetchPOP.
If all mail for a domain being fetched is ultimately being handled by this server then it is enough to add
the domain name as a servername to the servernames section described <a href="serverwide_configuration.html">here</a>.
-<br></br>This is the simplest solution and is used where James is being used to redistribute all mail from the
-free catch-all POP accounts provided by many domain registration/hosting companies.
+<br />
+This is the simplest solution and is used where James is being used to redistribute all mail from the
+free catch-all POP accounts provided by many domain registration/hosting companies.</p>
</div>
-<a name="Handling a Subset of a Domain's Mail"></a><div class="section"><h3>Handling a Subset of a Domain's Mail</h3>
-If only part of a domain's mail (perhaps only a single user's POP account) is being handled by this instance
-of James it is important that outgoing mail addressed to this domain that is not intended for James be properly delivered.
-To enable this filtering the FetchPOP scheduler adds a header, X-fetchedby, to the fetched message. This header can be checked using
+<div class="section"><h3><a name="Handling_a_Subset_of_a_Domains_Mail"></a>Handling a Subset of a Domain's Mail</h3>
+<p>If only part of a domain's mail (perhaps only a single user's POP account) is being handled by this instance
+of James it is important that outgoing mail addressed to this domain that is not intended for James be properly delivered.</p>
+<p>To enable this filtering the FetchPOP scheduler adds a header, X-fetchedby, to the fetched message. This header can be checked using
the provided matcher <b>FetchedFrom</b>. This matcher can be used to direct fetched mail to a processor set up
to handle mail fetched from one or more POP3 accounts. The matcher should be used exactly once in the mail
pipeline for each FetchPOP task, as the matcher removes a matching header to prevent outgoing replies or
-redirections from looping.
+redirections from looping.</p>
<p>The FetchedFrom matcher is configured with the name of the particular FetchPOP task it is supposed to match. In general,
this matcher will be used to direct mail to a custom processor for further processing. A mailet tag such as the
following</p>
<div class="source"><pre>
-<mailet match="FetchedFrom=<i>fetchtaskname</i>" class="ToProcessor"><br></br>
+<mailet match="FetchedFrom=<i>fetchtaskname</i>" class="ToProcessor"><br />
+
<processor><i>fetchprocessor</i></processor>
</mailet>
-</pre></div>
+</pre>
+</div>
<p>where <i>fetchtaskname</i> is the name of the FetchPOP task being matched and <i>fetchprocessor</i> is the name of the fetched mail
processor can be used to this purpose. The fetched mail processor should contain mailets which will filter
and forward mail to real local or remote users. This can be achieved in the usual fashion as described in the
<a href="spoolmanager_configuration.html">SpoolManager configuration section</a> and in the out of the box
configuration file.</p>
</div>
- <a name="Catching Undeliverable Mail"></a><div class="section"><h3>Catching Undeliverable Mail</h3>
+<div class="section"><h3><a name="Catching_Undeliverable_Mail"></a>Catching Undeliverable Mail</h3>
<p>It is important to note that this first version of FetchPOP does not access the original intended recipient
address of the mail, but instead uses the <b>To:</b> address from the message headers. Since this header may contain an
alias for the intended recipient, or may never have contained the intended recipient address (it could have been
@@ -446,7 +440,6 @@
</div>
</div>
-
</div>
</div>
<div class="clear">