Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perl-5.8.0 / doc / MHonArc / faq / archives.html
CommitLineData
86530b38
AT
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML//EN">
2<HTML>
3<HEAD>
4<TITLE>MHonArc FAQ: Archives</TITLE></HEAD>
5<BODY>
6
7<!--X-NavButtons-Start-->
8<p align=center>
9[<a href="usage.html">Prev</a>][<a href="indexpgs.html">Next</a>][<a href="faq.html">TOC</a>][<a href="http://www.mhonarc.org/">Home</a>]
10</p>
11<!--X-NavButtons-End-->
12
13<!-- ===================================================================== -->
14<HR>
15<H2><a name="archives">Archives</a></H2>
16
17<!--X-TOC-Start-->
18<ul>
19<li><a href="#split">Why does a message get split into mulitple messages with no headers?</a></li>
20<li><a href="#move">Can I move a message from one archive to another?</a></li>
21<li><a href="#reconstruct">Can I reconstruct a database from the HTML messages?</a></li>
22<li><a href="#dynamic">Is it safe to add messages to an archive as they are received?</a></li>
23<li><a href="#forward">So it is safe. How do I do it??</a></li>
24<li><a href="#majordomo">How can I do it with Majordomo lists?</a></li>
25<li><a href="#different">Can I get MHonArc to filter messages to different archives?</a></li>
26<li><a href="#exclude">Does MHonArc support the "no archive" flag in messages?</a></li>
27<li><a href="#addsafe">Is it safe to specify <tt>-add</tt> when no archive exists?</a></li>
28<li><a href="#jumps">Why are there "jumps" in message numbers?</a></li>
29<li><a href="#dups">Why do some messages get re-added each time MHonArc processes a mail folder?</a></li>
30<li><a href="#remove">How do I remove messages from an archive?</a></li>
31<li><a href="#tombox">Can I convert an archive back to mailbox format?</a></li>
32</ul>
33<!--X-TOC-End-->
34
35<!-- ??????????????????????????????????????????????????????????????? -->
36<hr noshade size=1>
37<table border=0>
38<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
39<h3><b><a name="split">Why does a message get split into mulitple messages with no headers?</a></b></h3>
40</td></tr></table>
41
42<P>If you are processing UUCP mailbox files, messages are
43separated by a line starting with "<code>From </code>" (ie. The
44word "<code>From</code>" followed by a space). Some mail software
45will prefix lines in message bodies with a `<code>&gt;</code>'
46to avoid MUA's from incorrectly treating the line as a message
47separator. However, some mail software doesn't. </P>
48
49<P>To avoid incorrect separator detection, many MUAs perform
50a more stricter detection of separators beyond "<code>From </code>".
51MHonArc, by default, will treat lines starting
52with "<code>From </code>" as a message separator, which can lead to
53incorrect message termination if the From line has not been escaped
54with a `<code>&gt;</code>'. </P>
55
56<P>To fix the problem, use the <strong>MSGSEP</strong> resource to
57instruct MHonArc to use a stricter test detecting a message
58separator. The following <strong>MSGSEP</strong> resource setting is
59known to work well: </P>
60
61<pre>
62<b>&lt;MsgSep&gt;</b>
63^From \S+\s+\S+\s+\S+\s+\d+\s+\d+:\d+:\d+\s+\d+
64<b>&lt;/MsgSep&gt;</b>
65</pre>
66
67<p>In case you have message separates with quoted local parts in
68the address part of the separator, you can use the following:
69</p>
70
71<pre>
72<b>&lt;MsgSep></b>
73^From\s+(?:"[^"]+"@\S+|\S+)\s+\S+\s+\S+\s+\d+\s+\d+:\d+:\d+\s+\d+
74<b>&lt;/MsgSep></b>
75</pre>
76
77<p>Make sure to test things out before using in production
78environments.
79</p>
80
81<p>If this fails, you can try the <strong>CONLEN</strong>
82resource available in v2.0 and later. The CONLEN resource, when set, tells
83MHonArc to utilize the <code>Content-Length</code> fields
84in the message head. If your MTA defines this field accurately,
85then you can utilize this feature.
86Sun Solaris' delivery agent will define the
87<tt>Content-Length</tt> field for messages delivered to local users.
88</p>
89<p>If you use Procmail to filter your mail,
90you can try the following Procmail recipe (contributed by
91<a href="mailto:lindsey@ncsa.uiuc.edu">Christopher Lindsey</a>):
92</p>
93<blockquote>
94<p>However, one can add a Content-Length: header with everyone's favorite
95tool, procmail. :) Here's a recipe borrowed from David Tamkin about
969 moons ago:
97</p>
98<pre>
99 :0fhw # B won't help; size conditions ignore H and B flags on the :0 line
100 * ! ^Content-Length:.*[0-9]
101 * 1^1 B ?? &gt;1
102 | formail -a "Content-Length: $="
103</pre>
104<p>So if you want to count on Content-Length, the message could be
105piped into procmail with a specific procmailrc file which would
106do this counting and then call MHonArc.
107</p>
108</blockquote>
109
110<p>If <a href="http://www.sendmail.org/">sendmail</a> is
111your system's MTA and you use Procmail as your local delivery agent,
112you can configure things to have <tt>Content-Length</tt> defined
113for all locally delivered mail. The following technique is
114contributed by
115<a href="mailto:tibbs@math.uh.edu">Jason L Tibbitts III</a>:
116</p>
117<blockquote>
118<p>I use Procmail as my local delivery agent. I have the following extremely
119disgusting settings in my .mc (M4 config) file to add in a Content-Length:
120header, <u>but I'm <b>not</b> sure if I would recommend that anyone
121actually think of using this</u>:
122</p>
123<pre>
124define(`LOCAL_MAILER_FLAGS',`SPfhn9Z')
125define(`LOCAL_MAILER_ARGS',`procmail -a $h -d $u')
126
127LOCAL_CONFIG
128#
129# Add fake Content-Length Header for local mailer
130# This is corrected by Procmail
131# Note that the Z flag is used here; if Z is ever defined, this
132# will break something
133H?Z?Content-Length: 0000000000
134</pre>
135</blockquote>
136
137<p>If possible, try to avoid relying on the use of
138<tt>Content-Length</tt> since it is hard to guarantee that it is
139set properly. When <b>CONLEN</b> is specified, MHonArc will read at
140least the number of bytes specified by <tt>Content-Length</tt> before
141checking for the message separator, as defined by the <b>MSGSEP</b>
142resource. Therefore, the value of <tt>Content-Length</tt> can be less
143than the actual message size, and message extraction will probably
144work as expected. However, if <tt>Content-Length</tt> for a message
145has a value that is larger than the actual size, MHonArc may include
146the content of the next message as part of the current message.
147</p>
148
149<!-- ??????????????????????????????????????????????????????????????? -->
150<hr noshade size=1>
151<table border=0>
152<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
153<h3><b><a name="move">Can I move a message from one archive to another?</a></b></h3>
154</td></tr></table>
155
156<P>No. In order to achieve the same effect, you must add the original,
157unprocessed, message to the destination archive, then remove the
158appropriate HTML version of the message from the source archive. </P>
159
160<!-- ??????????????????????????????????????????????????????????????? -->
161<hr noshade size=1>
162<table border=0>
163<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
164<h3><b><a name="reconstruct">Can I reconstruct a database from the HTML messages?</a></b></h3>
165</td></tr></table>
166
167<p>Yes. v2.3 of MHonArc introduced a utility program called
168<b>mha-dbrecover</b>. It gets installed with the other MHonArc
169files during the installation process. See the documentation for
170usage information.
171</p>
172
173
174<!-- ??????????????????????????????????????????????????????????????? -->
175<hr noshade size=1>
176<table border=0>
177<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
178<h3><b><a name="dynamic">Is it safe to add messages to an archive as they are received?</a></b></h3>
179</td></tr></table>
180
181<p>Yes. MHonArc performs archive locking to protect from
182multiple MHonArc process attempting to write to an archive
183at the same time. This locking allows MHonArc to safely
184be used to add messages as they are received.
185</p>
186
187<table border=0 cellpadding=4>
188<tr valign=top>
189<td><strong>NOTE</strong></td>
190<td><p>As an archive increases in size, performing updates as
191a message is received takes more processing time. Therefore, for
192large archives, you may need to do updates through a periodic
193batch process (like via <b>cron</b>(8)) to avoid time-out problems
194from MHonArc.
195</p>
196</td>
197</tr>
198</table>
199
200
201<!-- ??????????????????????????????????????????????????????????????? -->
202<hr noshade size=1>
203<table border=0>
204<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
205<h3><b><a name="forward">So it is safe. How do I do it??</a></b></h3>
206</td></tr></table>
207
208<p>Many users use <b>Procmail</b>
209<a href="http://www.ii.com/internet/robots/procmail/"
210>&lt;http://www.ii.com/internet/robots/procmail/&gt;</a> to call MHonArc
211to archive messages. Procmail provides the ability to preprocess
212mail as it arrives to do selective processing and automated tasks
213with your mail.
214</p>
215
216<p>For illustrative purposes, the following simple example shows
217a possible way of archiving messages as it arrives w/o using a tool
218like Procmail.
219This example assumes you are on a Unix-based system
220using <b>sendmail</b> as the mail transfer agent.
221Please refer to documentation about <b>sendmail</b> if you
222are not familiar with it
223(<cite><a href="http://www.ora.com/catalog/sendmail2/noframes.html"
224>sendmail, 2ed</a>, from O'Reilly</cite> is an excellent source).
225</p>
226
227<p>The approach shown here uses a
228<b><tt>.forward</tt></b> file in the home directory of the
229account you want mailed archived. For this example, let's
230assume it is my account.
231Here is how to set up the <tt>.forward</tt> file
232to invoke MHonArc on incoming mail: </P>
233
234<pre>
235\ehood, "|/home/ehood/bin/webnewmail #ehood"
236</pre>
237
238<DL>
239<DT><strong>NOTE</strong> on <tt>.forward</tt> entry:
240<DD><P> The "<code>\ehood</code>" tells <tt>sendmail</tt>
241to still deposit the incoming message to my mail spool file. The
242"<code>#ehood</code>" Bourne shell comment is needed to insure the
243command is unique from another user. Otherwise, <tt>sendmail</tt>
244may not invoke the program for you or the other user.
245</P></DL>
246
247<P><tt>webnewmail</tt> is a Perl program that calls
248MHonArc with the appropriate arguments. A wrapper program
249is used instead of calling MHonArc directly to keep
250the <tt>.forward</tt> file simple, but you can call MHonArc
251directly if you want. Here is the code to the
252<tt>webnewmail</tt> program: </P>
253
254<pre>
255#!/usr/local/bin/perl
256# Edit above path to point to where perl is on your system.
257
258## Specify a package to protect names from MHonArc.
259
260package WebNewMail;
261
262## Edit to point to installed mhonarc.
263
264$MHonArc = "/home/ehood/bin/mhonarc";
265
266## Define ARGV (ARGV is same across all packages).
267## Edit options as required/desired.
268
269@ARGV = ("-add",
270 "-quiet",
271 "-outdir", "/home/ehood/public_html/newmail");
272
273## Just require mhonarc, this prevents the overhead of a
274## fork/exec.
275
276require $MHonArc;
277
278</pre>
279
280<p>The <tt>webnewmail</tt> program has to have the executable
281bit set. This is achieved by using "<tt><b>chmod a+x webnewmail</b></tt>".
282</p>
283
284<table border=0 cellpadding=4>
285<tr valign=top>
286<td><strong>NOTE</strong></td>
287<td><p>For better scalability and resource usage, the author
288recommends calling MHonArc from a facility like <b><tt>cron</tt></b>,
289which is provided on Unix-based operating systems.
290For those unfamiliar cron, it is a daemon that allows the execution
291of commands on scheduled basis.
292</p>
293</td>
294</tr>
295</table>
296
297<!-- ??????????????????????????????????????????????????????????????? -->
298<hr noshade size=1>
299<table border=0>
300<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
301<h3><b><a name="majordomo">How can I do it with Majordomo lists?</a></b></h3>
302</td></tr></table>
303
304<p>Here is a
305template for archiving messages as they arrive for a
306Majordomo list to include in sendmail's <tt>aliases</tt> file:
307</p>
308<pre>
309<em>xxxx</em>: "|<em>/usr/lib/majordomo/</em>wrapper resend -l <em>xxxx</em> <em>xxxx</em>-outgoing"
310<em>xxxx</em>-outgoing: :include:<em>/var/lib/majordomo/lists/</em><em>xxxx</em>, <em>xxxx</em>-mhonarc
311<em>xxxx</em>-request: <em>list-admin-address</em>
312owner-<em>xxxx</em>: <em>list-admin-address</em>
313<em>xxxx</em>-owner: <em>list-admin-address</em>
314
315<em>xxxx</em>-mhonarc: "|<em>/usr/lib/majordomo/</em>wrapper mhonarc -add -quiet -outdir <em>/home/httpd/html/yyyyyyy</em> <em>-rcfile rcs.mrc</em> <em>-stderr /var/log/mhonarc</em>"
316</pre>
317
318<p>Replace text that <em>is rendered like this</em> with
319what is appropriate for your configuration.
320</p>
321<p>In order to run MHonArc with Majordomo's wrapper, the program has to
322be in the same directory where the Majordomo programs are located.
323An easy way to insure this is to create a symbolic link to in Majordomo's
324program directory to where MHonArc is installed. For example:
325</p>
326<pre>
327 shell&gt; <b>ln -s <em>/usr/bin/mhonarc</em> <em>/usr/lib/majordomo/mhonarc</em></b>
328</pre>
329<p>Make sure <em><tt>/usr/bin/mhonarc</tt></em> is readable and executable
330by the majordomo user. Something like the following can be done
331to insure this:
332</p>
333<pre>
334 shell&gt; <b>chmod <em>755</em> <em>/usr/bin/mhonarc</em></b>
335</pre>
336<p>If you redirect stderr to a logfile, the logfile must
337be owned by the majordomo user and be writable by the majordomo user.
338The directory for that logfile must exist.
339</p>
340<p>The MHonArc-archive directory must be owned by the majordomo user
341and must have the minimum access permission 755. Group ownership does not
342matter.
343</p>
344
345<!-- ??????????????????????????????????????????????????????????????? -->
346<hr noshade size=1>
347<table border=0>
348<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
349<h3><b><a name="different">Can I get MHonArc to filter messages to different archives?</a></b></h3>
350</td></tr></table>
351
352<p>No. This is outside of the MHonArc's scope. You can grow your
353own filter, using the method described in the
354<a href="#forward">previous question</a>, to
355scan the message header an invoke MHonArc with the proper arguments.
356Or. you can use a tool like
357<b>Procmail</b>
358<a href="http://www.ii.com/internet/robots/procmail/"
359>&lt;http://www.ii.com/internet/robots/procmail/&gt;</a>.
360</p>
361
362<table border=0 cellpadding=4>
363<tr valign=top>
364<td><strong>NOTE</strong></td>
365<td><p>You may want to check out the following:
366<strong><a href="http://www.mhonarc.org/release/mharc/">mharc</a></strong>
367at <a href="http://www.mhonarc.org/release/mharc/"
368>&lt;http://www.mhonarc.org/release/mharc/&gt;</a>:
369Mharc is a web-based mail archiving system for multiple mailing
370lists using Procmail, MHonArc, and Namazu.
371</p>
372</td><tr></table>
373
374<p>Here are a some messages from users about using Procmail:
375</p>
376
377<blockquote>
378<UL>
379<LI><em>From</em>: Achim Bohnet &lt;<A HREF="mailto:ach@rosat.mpe-garching.mpg.de">ach@rosat.mpe-garching.mpg.de</A>&gt;</LI>
380<LI><em>Date</em>: Wed, 13 Nov 1996 13:56:08 +0100</LI>
381</UL>
382<pre>
383<var>... some text deleted ...</var>
384
385Here is what I use in .procmailrc to archive the mhonarc list:
386
387NEWDATE="`/usr/bin/date +%Y-%m`"
388MHONARC_MBOX="/local/mail/lists/mhonarc/$NEWDATE.mbox"
389:0: $MHONARC_MBOX$LOCKEXT
390* ^Sender:.*owner-mhonarc@
391{
392 :0 c
393 $MHONARC_MBOX
394
395 :0 c
396 | /local/mail/mhonarc-1.2.2/mailarchive -add mhonarc "$NEWDATE"
397}
398
399Mailarchive is nothing more than a wrapper around mhonarc with my long.
400list of options.
401
402Achim
403P.S. Procmail itself comes with an example manual page. It's worth
404 looking into it.
405
406</pre>
407</blockquote>
408
409<blockquote>
410<hr noshade size=1>
411<UL>
412<LI><em>From</em>: "Eric D. Friedman" &lt;<A HREF="mailto:friedman@hydra.acs.uci.edu">friedman@hydra.acs.uci.edu</A>&gt;</LI>
413<LI><em>Date</em>: Wed, 13 Nov 1996 06:38:42 -0800</LI>
414</UL>
415<pre>
416You can actually dispense with the wrapper if you use environment
417variables to pass options to MHonArc, but I'm sure Achim has a good
418reason for doing it his way. Just for the purposes of comparion,
419here's how I do it:
420
421eeeweb% cat .procmailrc
422#Set on when debugging
423VERBOSE=off
424#Replace `mail' with your mail directory (Pine uses mail, Elm uses Mail)
425MAILDIR=$HOME/Mail
426#Directory for storing procmail log and rc files
427PMDIR=$HOME/.procmail
428#Path and options for mhonarc
429MHONARC='/dcs/packages/infosys/bin/mhonarc -add -quiet -umask 022 -idxfname inde
430x.html'
431:0
432* ^Originator:.*@classes.uci.edu
433{
434 MHHOME=$HOME/classarc
435 LOGFILE=$PMDIR/classlists.log
436 INCLUDERC=$PMDIR/rc.classlists
437}
438:0 E
439{
440 MHHOME=$HOME/mail-arc
441 LOGFILE=$PMDIR/otherlists.log
442 INCLUDERC=$PMDIR/rc.otherlists
443}
444
445and then in the file .procmail/rc.classlists or rc.otherlists (depending
446on the Originator: of the message), lots of the following:
447
448# Procmail Entry for uci-www
449:0 E
450* ^TOuci-www
451{
452 :0 c
453 uci-www/.
454
455 :0
456 |$MHONARC -rcfile $MHHOME/uci-www/0-rcfile.html -outdir $MHHOME/uci-www
457}
458
459Eric D. Friedman
460friedman@uci.edu
461</pre>
462</blockquote>
463
464<blockquote>
465<hr noshade size=1>
466<UL>
467<LI><em>From</em>: Paul McKinley &lt;<A HREF="mailto:mckinley@austin.asc.slb.com">mckinley@austin.asc.slb.com</A>&gt;</LI>
468<LI><em>Date</em>: Mon, 21 Apr 1997 15:29:08 -0500</LI>
469</UL>
470<pre>
471<var>... some text deleted ...</var>
472
473I use procmail to drive mhonarc archives from Majordomo. I set up a
474single pseudouser and drive several archives from the one pseudouser.
475
476Here's a sample .forward file:
477
478"|/usr/ucb/rsh cappuccino \"set IFS=' '; exec
479/usr/local/procmail/bin/procmail #widget\""
480
481Another example is:
482
483"|/bin/csh -c \"set IFS=' '; exec /usr/local/procmail/bin/procmail
484#widget\""
485
486Two reasons to use the "rsh cappuccino":
4871. doesn't require the user to be able to login to server, although
488 the username must still be valid
4892. gets the processing load off the mail server
490
491Here's an example .procmail recipe:
492
493LOGFILE=$HOME/procmail_errors
494LOGABSTRACT=all
495LOCKEXT=.lock
496VERBOSE=on
497UMASK=003
498
499# widget: list short description
500:0 H
501* ^List-Name: widget
502{
503 # The rotate call (under construction) does archive rotation
504 # leave commented!
505 #:0c i
506 #| /home/web-arch/bin/rotate /usr/local/web/webarchive/widget
507
508 # Put the mail in the mailbox, which is used by archiver to re-generate
509 # the html indexes
510 :0 cA
511 /usr/local/web/webarchive/widget/current/mbox
512
513 # The mhonarc call examines mbox, turns the mail messages into .html
514 # documents, and compiles the indexes.
515 # -reverse -treverse\
516 :0 ia
517 | /usr/local/mhonarc/bin/mhonarc \
518 -idxfname index.shtml \
519 -tidxfname threads.shtml \
520 -rcfile widget.rc\
521 -outdir /usr/local/web/webarchive/widget/current \
522 /usr/local/web/webarchive/widget/current/mbox
523
524}
525
526I have a directory per archive, and put the current period in directory
527"current". Then I have an index page per archive that indexes the
528periods, plus gives information about the list and how to
529subscribe/unsubscribe. The widget.rc file resides in the pseudouser's
530home directory.
531
532Note the
533* ^List-Name: widget
534I put the following in the majordomo list's config file:
535
536message_headers &lt;&lt; END
537List-Name: widget
538END
539
540This adds the "List-Name" header to messages, which is what procmail
541filters for.
542
543Hope this helps
544
545Paul McKinley
546Unix SysAdmin Contractor
547</pre>
548</blockquote>
549
550<!-- ??????????????????????????????????????????????????????????????? -->
551<hr noshade size=1>
552<table border=0>
553<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
554<h3><b><a name="exclude">Does MHonArc support the "no archive" flag in messages?</a></b></h3>
555</td></tr></table>
556
557<p>Version 2.4, or later, does via the <b>CHECKNOARCHIVE</b> resource.
558</p>
559
560<p>If using an earlier version, or if you are already doing some preprocessing,
561you can use a pre-processor like <b>Procmail</b>
562to do the filtering. Here is a message sent to the
563<a href="mailto:mhonarc-users@mhonarc.org">MHonArc mailing list</a>:
564</p>
565
566<blockquote>
567<UL>
568<LI><em>Subject</em>: Re: No archive</LI>
569<LI><em>From</em>: Christopher Lindsey &lt;<A HREF="mailto:lindsey@ncsa.uiuc.edu">lindsey@ncsa.uiuc.edu</A>&gt;</LI>
570<LI><em>Date</em>: Thu, 1 Oct 1998 11:33:07 -0500 (CDT)</LI>
571</UL>
572<pre>
573&gt; Subscribers who don't want their messages to be archived
574&gt; could add a "no archive" flag within their mail.
575
576The most common way to do this is by checking for the existence
577of an 'X-no-archive: yes' or 'Restrict: no-external-archive' header.
578
579&gt; As I'm invoking MHonArc through a procmail recipe I guess
580&gt; it's possible to do this within the recipe.
581
582Very easy:
583
584 # If people don't want to be archived, then remove their
585 # message
586 :0
587 * ^(X-no-archive: yes|Restrict: no-external-archive)
588 /dev/null
589
590Chris
591</pre>
592</blockquote>
593
594<!-- ??????????????????????????????????????????????????????????????? -->
595<hr noshade size=1>
596<table border=0>
597<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
598<h3><b><a name="addsafe">Is it safe to specify <tt>-add</tt> when no archive exists?</a></b></h3>
599</td></tr></table>
600
601<p>Yes. If MHonArc sees no archive exists when perform
602an add, it will automatically create the archive.
603</p>
604
605<table border=0 cellpadding=4>
606<tr valign=top>
607<td><strong><font color="red">WARNING</font></strong></td>
608<td><p>If using MHonArc versions 2.4, or earlier, make sure the file
609<tt>maillist.html</tt> (or the value
610of the IDXFNAME resource) does not exist if no archive exists and
611<tt>-add</tt> has been specified. Otherwise, unpredictable output
612of the <tt>maillist.html</tt> file may result if <tt>maillist.html</tt>
613is not in the proper format.
614</p>
615</td>
616</tr>
617</table>
618
619
620<!-- ??????????????????????????????????????????????????????????????? -->
621<hr noshade size=1>
622<table border=0>
623<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
624<h3><b><a name="jumps">Why are there "jumps" in message numbers?</a></b></h3>
625</td></tr></table>
626
627<p>Big gaps in the message number sequence may occur if you
628defined the <strong>MAXSIZE</strong> resource and you have
629MHonArc rescanning a mail folder for adding new messages.
630The problem occurs when MHonArc
631reads in messages that will automatically get deleted due
632to MAXSIZE. Ie. Messages subject to automatic deletion are
633the oldest ones. If the input contains old messages that will
634get deleted at the end of processing, the old messages will
635still use up message numbers since messages to be deleted are not
636determined until all input is read. Since MHonArc does
637not keep information about deleted messages, if the messages are
638fed into MHonArc again, the "jumping" will occur
639again (and the jump will get larger for each additional update).
640</p>
641
642<p>To avoid the problem, try to pass only new, never processed,
643messages to MHonArc instead of having MHonArc
644rescanning the same mail folder for new messages. Another
645approach is to set either the <strong>EXPIREAGE</strong> or
646<strong>EXPIREDATE</strong> resources (available in v2.0 beta 2,
647or later). These work as an alternative to MAXSIZE and will help in
648preventing message number jumping since expiration of a message is
649checked when it is initially read (bypassing the assignment of
650a message number). </p>
651
652<!-- ??????????????????????????????????????????????????????????????? -->
653<hr noshade size=1>
654<table border=0>
655<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
656<h3><b><a name="dups">Why do some messages get re-added each time MHonArc processes a mail folder?</a></b></h3>
657</td></tr></table>
658
659<p>This condition may occur when you have MHonArc examine the
660same folder periodically to add any new message. If there are
661messages in the folder without message-ids, then those messages
662will be re-added each time MHonArc runs.
663</p>
664
665<p>Why? Well, MHonArc uses message-ids for determining if a
666message has been archived, or not. Therefore, if a message-id
667is missing for a message, then MHonArc believes it is new.
668</p>
669
670<p>In general, mail has message-ids. They get assigned by
671MTAs. However, if messages are generated by a CGI
672program, or other non-mail specific software, then the program
673in question should create a message-id. Else, you will need
674to move already-processed messages into a different area so
675MHonArc does not read them again.
676</p>
677
678<table border=0 cellpadding=4>
679<tr valign=top>
680<td><strong>NOTE</strong></td>
681<td><p>In MHonArc v2.4 and later, and if you have
682the <b>Digest::MD5</b> module installed, MHonArc will compute
683the MD5 digest of message headers without message-ids. This
684allows MHonArc to skip the message in subsequent add operations.
685</p>
686</td>
687</tr>
688</table>
689
690<p>A related problem is messages showing up again in the archive
691after you deleted them with RMM. MHonArc does not keep track of
692delete message-ids. Therefore, if want to make sure that
693a message will not appear in the archive after explicitly deleted
694via RMM, make sure to remove the message from input source.
695</p>
696
697<!-- ??????????????????????????????????????????????????????????????? -->
698<hr noshade size=1>
699<table border=0>
700<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
701<h3><b><a name="remove">How do I remove messages from an archive?</a></b></h3>
702</td></tr></table>
703
704<p>Automatic removal can be done via the <strong>EXPIREAGE</strong> or
705<strong>EXPIREDATE</strong> resources (available in v2.0 beta 2,
706or later) or the <strong>MAXSIZE</strong> resource.
707</p>
708<p>Explicit message removal can be done with the <strong>RMM</strong>
709resource. Please read the RMM resource page for more information
710and examples.
711</p>
712
713<!-- ??????????????????????????????????????????????????????????????? -->
714<hr noshade size=1>
715<table border=0>
716<tr valign=top><td><img src="monicon.png" align="bottom" alt=""></td><td>
717<h3><b><a name="tombox">Can I convert an archive back to mailbox format?</a></b></h3>
718</td></tr></table>
719
720<p><a href="mailto:anthonyw@albany.net">Anthony W</a> provides a
721Perl program called <tt>mhn2mbox</tt> for converting archives back
722into mailbox format. To obtain more information and to download
723the program, goto
724<a href="http://www.albany.net/~anthonyw/mhonarc/"
725>&lt;http://www.albany.net/~anthonyw/mhonarc/&gt;</a>.
726</p>
727
728<!-- ===================================================================== -->
729<hr>
730
731<!--X-NavButtons-Start-->
732<p align=center>
733[<a href="usage.html">Prev</a>][<a href="indexpgs.html">Next</a>][<a href="faq.html">TOC</a>][<a href="http://www.mhonarc.org/">Home</a>]
734</p>
735<!--X-NavButtons-End-->
736
737<hr>
738<address>
739$Date: 2002/06/21 22:28:16 $ <br>
740<img align="top" src="monicon.png" alt="">
741<a href="http://www.mhonarc.org/"
742><strong>MHonArc</strong></a><br>
743Copyright &#169; 1997-2001, <a href="http://www.earlhood.com/"
744>Earl Hood</a>, <a href="mailto:mhonarc@mhonarc.org"
745>mhonarc@mhonarc.org</a><br>
746</address>
747
748</body>
749</html>