The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<html>
<head>
<title>MHonArc Resources: DATEFIELDS</title>
<link rel="stylesheet" type="text/css" href="../docstyles.css">
</head>
<body>
<!--x-rc-nav-->
<table border=0><tr valign="top">
<td align="left" width="50%">[Prev:&nbsp;<a href="conlen.html">CONLEN</a>]</td><td><nobr>[<a href="../resources.html#datefields">Resources</a>][<a href="../mhonarc.html">TOC</a>]</nobr></td><td align="right" width="50%">[Next:&nbsp;<a href="daybegin.html">DAYBEGIN</a>]</td></tr></table>
<!--/x-rc-nav-->
<hr>
<h1>DATEFIELDS</h1>
<!--X-TOC-Start-->
<ul>
<li><a href="#syntax">Syntax</a>
<li><a href="#description">Description</a>
<li><a href="#default">Default Setting</a>
<li><a href="#rcvars">Resource Variables</a>
<li><a href="#examples">Examples</a>
<ul>
<li><small><a href="#">Using composition date</a></small>
<li><small><a href="#">Indexed fields</a></small>
</ul>
<li><a href="#version">Version</a>
<li><a href="#seealso">See Also</a>
</ul>
<!--X-TOC-End-->

<!-- *************************************************************** -->
<hr>
<h2><a name="syntax">Syntax</a></h2>

<dl>

<dt><strong>Envariable</strong></dt>
<dd><p><br>
<code>M2H_DATEFIELDS=</code><var>field1</var><code>:</code><var
>field2</var><code>:</code><var>...</var><code>:</code><var
>fieldN</var>
</p>
</dd>

<dt><strong>Element</strong></dt>
<dd><p>
<code>&lt;DATEFIELDS&gt;</code><br>
<var>field1</var><code>:</code><var
>field2</var><code>:</code><var>...</var><code>:</code><var
>fieldN</var><br>
<code>&lt;/DATEFIELDS&gt;</code><br>
</p>
</dd>

<dt><strong>Command-line Option</strong></dt>
<dd><p>
<code>-datefields </code><var>field1</var><code>:</code><var
>field2</var><code>:</code><var>...</var><code>:</code><var
>fieldN</var>
</p>
</dd>

</dl>

<!-- *************************************************************** -->
<hr>
<h2><a name="description">Description</a></h2>

<p>DATEFIELDS specify the message header fields mhonarc will search to
determine the dates of messages.  Each field will be checked in
the ordered specified.
</p>
<p>The value of the DATEFIELDS is a colon separated
list of message header fields to check.  Since it is legal for
multiple fields with the same name to appear in a message header
(e.g. <tt>Received</tt>), indexed fields are supported.  For example,
</p>
<pre class="code">
<b>&lt;DateFields&gt;</b>
received[1]:received[0]:date
<b>&lt;/DateFields&gt;</b>
</pre>
<p>The example says that mhonarc should check the second received
field, then the first received field, and then the first date field
to determine the date of a message.
</p>
<p>Indexing starts at 0.  I.e. An index of 0 denotes the first
occurrence of the field, 1 denotes the second, etc.
If no integer index is specified, then 0 is used.
</p>

<!-- *************************************************************** -->
<hr>
<h2><a name="default">Default Setting</a></h2>

<pre class="code">
received:date
</pre>

<!-- *************************************************************** -->
<hr>
<h2><a name="rcvars">Resource Variables</a></h2>

<p>N/A
</p>

<!-- *************************************************************** -->
<hr>
<h2><a name="examples">Examples</a></h2>

<h3>Using composition date</h3>
<p>By default. mhonarc looks at the <tt>Received</tt> fields of
a message to determine a message's date.  This tends to be more
accurate as it tells when the message was actually received (it is
better to trust a date/time you have control over vs what the sender
has control over).  However, you may want to have the date based
upon the time the sender composed the message.  The <tt>Date</tt>
field usually reflects the composition date.  Therefore, the following
setting can be used:
</p>
<pre class="code">
<b>&lt;DateFields&gt;</b>
date:received
<b>&lt;/DateFields&gt;</b>
</pre>

<h3>Indexed fields</h3>
<p>Specified indexed fields can be used if mail you archive is known to
following a specific delivery path.  Here is an example
scenario:
</p>
<ol>
<li>All incoming mail is first delivered to a central POP mail server
    of our ISP.</li>
<li><a href="http://www.tuxedo.org/~esr/fetchmail/"><tt>fetchmail</tt></a>
    is used to download the mail from the POP server to our local
    SMTP server.</li>
<li>The local SMTP server delivers the mail to a local user account that
    is used to archive the mail.</li>
</ol>

<p>With this scenario, we prefer to use the date stamp from the ISP
server since our local system may not always be up.  Each step above
causes a <tt>Received</tt> header field to be added to the message.
Since <tt>Received</tt> fields are listed from final delivery point to
starting delivery point (i.e. each step inserts a <tt>Received</tt>
field above existing header fields), we want to base the message
date on the 3rd <tt>Received</tt> field (the one created by the
ISP mail server).  Hence, DATEFIELDS shall be set to the following:
</p>
<pre class="code">
<b>&lt;DateFields&gt;</b>
received[2]:received[1]:received[0]:date
<b>&lt;/DateFields&gt;</b>
</pre>
<p>We still specify fallback fields just-in-case.
</p>


<!-- *************************************************************** -->
<hr>
<h2><a name="version">Version</a></h2>

<p>2.1.1
</p>

<!-- *************************************************************** -->
<hr>
<h2><a name="seealso">See Also</a></h2>

<p>
<a href="fromfields.html">FROMFIELDS</a>
</p>

<!-- *************************************************************** -->
<hr>
<!--x-rc-nav-->
<table border=0><tr valign="top">
<td align="left" width="50%">[Prev:&nbsp;<a href="conlen.html">CONLEN</a>]</td><td><nobr>[<a href="../resources.html#datefields">Resources</a>][<a href="../mhonarc.html">TOC</a>]</nobr></td><td align="right" width="50%">[Next:&nbsp;<a href="daybegin.html">DAYBEGIN</a>]</td></tr></table>
<!--/x-rc-nav-->
<hr>
<address>
$Date: 2003/10/06 22:04:16 $ <br>
<img align="top" src="../monicon.png" alt="">
<a href="http://www.mhonarc.org/"
><strong>MHonArc</strong></a><br>
Copyright &#169; 1998,2002, <a href="http://www.earlhood.com/"
>Earl Hood</a>, <a href="mailto:mhonarc&#37;40mhonarc.org"
>mhonarc<!--
-->&#64;<!--
-->mhonarc.org</a><br>
</address>

</body>
</html>