Supported Environments

What platforms can MHonArc run under?

MHonArc is known to run under Unix-based operating systems, MS-DOS/Windows, WinNT, Win95/98, and OS/2. If Perl is available for the system you are using, you can probably run MHonArc.

What about Mac?

For OS X users, MHonArc can be used from the command-line in the same manner as a Unix-based system. Lasar Liepins provides an installer and a graphical front-end for OS X.

For MacPerl users, MHonArc has been coded to support MacPerl. A couple of users have reported success in running MHonArc under MacPerl. Try it out, and if you have problems, send a message to the MHonArc user's list.

What about VMS?

The following includes information from Walter F.J. Mueller, W.F.J.Mueller@gsi.de:

 * The -outdir argument must be specified UNIX style.
 * Avoid any $ in a filename, some interpolation will certainly mess it up.
   It ended up defining a few extra logicals like
        $ define kp3_root kp3$root
   to have $ free absolute pathnames in the usual $-prone VMS environment.

Also, you will need to use Perl 5.004_04 or later and MHonArc v2.1.1 or later.

What version of Perl is required to run MHonArc?

Perl 5, or later. Older versions of MHonArc are Perl 4 compatible. So if you are under the unfortunate circumstances of only being able to use Perl 4, you will need to grab an older version of MHonArc.

Perl 5 is required for MHonArc v2.3 or later. The last Perl 4 compatible release is v2.2.

What mail user agents (MUA's) does MHonarc support?

The question is better stated as: "What mail message storage formats MHonArc support?"

MHonArc can convert mail that is stored in UUCP mailbox format (ie. all messages are in a single file), or in the format used by the Rand Message Handler (MH) (messages are contained in separate files within a directory). MHonArc is known to work with the following MUAs: MH/nmh, mail, Mail, Elm, Eudora, WinVN, Windows Trumpet, and NUPop.


To support some MUA's, it may require redefining the MSGSEP or MHPATTERN resource. Please consult the documentation for more information about these resources.

Can MHonArc process Majordomo digests?

Here is a couple messages from the MHonArc mailing list:

> Hi...
>    Has anyone come up with a relatively clean method of converting 
> majordomo digests to a mailbox format that MHonarc can read?
>    I was looking at it, and from what I can see its just a matter of
> changing the file so that there is a From <> line at the top of each
> message, so that something like:

If you have the procmail package, formail should do it for you.

   formail -ds < digestfile >> newmailbox

It auto-generates the initial 'From ' header.  Unfortunately, it
also leaves the original digest message (probably).  If it's the
first message output, do this:

   formail +1 -ds < digestfile >> newmailbox

This tells formail to skip the first message (the one that came from
list-digest-owner or whatever).


	I've searched the archives for some brain dead simple way of bring in old
digests so that MHonarc can use them, and couldn't find anything but some 
references to procmail and -msgsep...nothing which seemed to work "easily"...

	So, here is my contribution...a simple, brain dead script that takes a
Majordomo digest and converts it to a format that can be used by MHonarc...
I don't guarantee it, but if anyone can suggest what is wrong with it, I'd
like to know and try to fix it

	Just run it as: <scriptname> <infile> > <outfile>

Marc G. Fournier                                
Systems Administrator @ hub.org 
primary: scrappy@hub.org           secondary: scrappy@{freebsd|postgresql}.org 

$userid = getlogin();

$ii = 0;
while (<>) {
  if($printline) {
    $line{$ii} = $_;
  if (/^----------------------------------------------------------------------/) {
    $printline = 1;
    $line{$ii} = "------------------------------";

for($jj = 0; $jj < $ii; $jj++) {
  if(/^------------------------------/, $line{$jj}) {
    if($line{$jj+2} =~ "^Date:") {
      print "From $userid\n";
      $jj += 2;
    } else {
      if($line{$jj+2} =~ "^End of") {
  print $line{$jj};

Can MHonArc process Listprocessor archives?

An answer from a MHonArc user:

Here is a simple script I wrote to process the archives of my Listprocessor 

# mhonarch.pl - Process all Listprocessor archives using MHonArc
# Kevin McCann
#### Directory locations:
# Listproc, Majordomo, or Listserv top archives dir 
$ARCHDIR = "/usr/server/archives";
# MhonArch web archives directory   
$MONDIR = "/u/www/htdocs/listproc/mhonarc";
## Let's figure out what lists exist
opendir(DIR,"$ARCHDIR/") || die "Can't open directory";
@dirs = readdir(DIR);
@sorteddirs = sort @dirs;
for (@sorteddirs) {      # processing a list
   $listname = $_;
   opendir(DIR,"$ARCHDIR/$listname") || die "Can't open directory";
   @logs = readdir(DIR);
   @sortedlogs = sort @logs;
   for (@sortedlogs) {
     if (/log/) {                # processing files with name format 
       $log = $_;

       system("/usr/local/bin/mhonarc  -outdir  $MONDIR/$listname/$log  

                 # modify the above command line as needed 

}             # end of script

I processed over 100 lists that go back to 1995 with this. It took about 
one hour. There may be more elegant ways to do it, but this was just a 
quick hack to get the job done. If you are using an RCFILE, don't forget to 
include it in the long mhonarc command seen above. Oh, and don't forget to 
change the first line that specifies your Perl location if you need to - 
mine is set to /usr/local/bin/perl5.

Good luck!

- Kevin McCann

Can MHonArc process ezmlm archives?

From what I read from the ezmlm(5) manpage, the following example command will process all messages of list:

prompt> mhonarc /list/archive/[0-9]*

Replace "/list/archive/" to what is appropriate for your configuration.

Basically, each numeric subdirectory in the "archive" directory follows the same format as MH mail directories.

If you are using a shell that cannot handle "[0-9]*", the following should work:

prompt> mhonarc `find /list/archive/ -type d -name '[0-9]*' -print`

Note, make sure to add any additional options to mhonarc as needed to get the effects you desire.

Can MHonArc process qmail's maildir style mail folders?

For simplicity, let "MAILDIR" represent the pathname to your qmail mail directory.

To have mhonarc process MAILDIR, you pass "MAILDIR/cur" and/or "MAILDIR/new" as the mail folder arguments. Which subdirectory you choose to use depends on your needs.

Also, you will need to define the MHPATTERN resource to process all non-dotfiles. Example:

prompt> mhonarc -mhpattern '^[^\.]' MAILDIR/cur

If all you will ever do is process qmail maildir folders, it may be best to set the M2H_MHPATTERN environment variable so you do not have to respecify each time you invoke mhonarc. Examples:

setenv M2H_MHPATTERN '^[^\.]'
M2H_MHPATTERN='^[^\.]'; export M2H_MHPATTERN

Can MHonArc process Netscape Messenger folders?

Yes. Each Netscape Messenger folder has a corresponding mailbox file that stores the raw mail messages for the folder. The location of the mailbox file will be in your mail directory. Under Unix, this is normally $HOME/nsmail. For Windows, this is typically C:\Program Files\Netscape\Users\<username>\Mail.

For each Netscape folder, there are two files: <folder-name> and <folder-name>.summary (or <folder-name>.snm under Windows). The .summary can be ignored with respect to MHonArc. The other file contains the raw mail messages and can be passed directly to MHonArc for processing. For example, to process all the mail in your Inbox, do something like the following:

prompt> mhonarc $HOME/nsmail/Inbox

Note, you may need to compress/compact folders in Netscape before running MHonArc. If not, messages you have deleted from a folder may show up in the archive create by MHonArc.

Can MHonArc process Evolution folders?

Yes. Each Evolution folder has a corresponding mailbox file that stores the raw mail messages for the folder. The location of the mailbox file will be in your mail directory which is typically $HOME/evolution/local/folder-name. In the directory is a file called mbox which contains the raw messages that can be passed into MHonArc directly.

Can MHonArc process Compuserve messages?

Here is a response from a user:

At 11:38 AM 3/6/97 +0100, Bernard Frit wrote:
>Hi everybody,
>A friend of mine has a lot of archives in CompuServe
>thread and message format. He'd like to convert them
>in a convenient format (html or whatever) with thread
>indexing features as MHonArc is doing it for mail
>At the first glance, I didn't find out how to configure
>MHonArc to do the job.

The Compuserve "file cabinet" format is too far from the basic SMTP message
format that MHonArc recognizes.

Your friend can find software on Compuserve to read the file cabinet format
and emit ascii text that is closer to SMTP message format that MHonArc can
use.  A search of IBMFF using the keywords "cabinet" and "convert" yielded
several items including these two:

Forum Name: CSNAVSUPPORT                 Library: Member Uploads  (6)
  Accesses: 839                       Size: 11368
      File: THRDCO.ZIP           Submitted: [72662,70]   26-Aug-94

This program converts forum message threads to a plain text file  called
COLLECT.TXT.  Your favorite word processor can then search  for any message
on any topic that you have downloaded.  It is  public domain and was
created because I have so many forum  thread messages which I can't search.

Forum Name: PCEFORUM                 Library: Telecom/Reseaux  (8)
  Accesses: 32                        Size: 30865
      File: SHWCIM.ZIP           Submitted: [72241,2132]   08-Nov-96

Une fois stockes dans le "Cabinet"  CompuServe, les messages des forums et
les courriers sont codes dans des fichiers binaires que l'on ne peut pas
relire directement. Cet utilitaire a pour but de convertir n'importe quel
fichier de la base WinCIM en fichier ASCII pur. Freeware en anglais.

-- SP

What about other mailbox/folder formats?

The common technique is to convert the foreign format into a format recognized by MHonArc: UUCP mailbox or MH mail folders. The conversion can also rely on the usage of the MSGSEP and MHPATTERN resources to make conversion potentially easier.

Can MHonArc create non-English archives?

Yes. With MHonArc's page layout customizations features, you can have MHonArc create pages in any language supported by Web client software. Plus, messages containing non-English text is supported during message conversion via the CHARSETCONVERTERS resource.

See also:
Does MHonArc support Unicode?

How about Japanese?

Yes. For details about Japanese usage of MHonArc, goto: <http://www.mhonarc.jp/> (documents are in Japanese).

Can I create bilingual archives?

Yes. You can actually create archives that have as many indexes as you want in as many languages that you want. Through the OTHERINDEXES resource can define any number of extra indexes to create. For each index, you can redfine the index resources to use whatever text (English or non-English) you desire.


There is no support for mulitple variations of message pages in an archive. Therefore, a single language must be chosen for message pages, or you can include redundant information using multiple languages.


Actual message data will be in the language used in the message. MHonArc has no built-in language translation.

See also:
Does MHonArc support Unicode?

Does MHonArc support Unicode?

Yes. Check out the following for more information:


$Date: 2011/01/01 02:43:26 $
Copyright © 1997-1999, Earl Hood, mhonarc@mhonarc.org