This is the beginning of the Hypermail FAQ. Don't dispair that there is little here. That will change shortly.
Hewlett-Packard (who is now the legal owner of Hypermail, since EIT was bought by VeriFone, which was bought by Hewlett-Packard) has put it under the GNU license, a widely used "free software" license. This means that you can use and modify the source code as long as you make your changes publically available and do not charge for their use (although, under GNU, you can charge for their distribution). More details are available at http://www.fsf.org/ and http://www.fsf.org/copyleft/gpl.html.
Hypermail can compile and run as-is on most of the more popular UNIX systems today. If you're not sure if hypermail will run on your UNIX system, try compiling it and see!
Hypermail has been reported to work on MacOSX (X.2.6), with the advice to use --disable-shared and manually execute make in src/pcre.
People have indeed ported hypermail to DOS, Windows 95, and Windows NT (but not Java ...yet). Installation advice for some Windows systems is available at win32.html.
A very old and established government contractor company called Electronic Instrumentation and Technology Inc. made legal moves to obtain the eit.com domain. Since VeriFone/HP had no interest in keeping EIT, they dissolved it completely some months ago. This company had a trademark on EIT so the domain name was given to them. (Thank you InterNic...)
Kevin has not dropped off the face of the earth but is extremely busy these days as a Hypermedia Engineer at Veo Systems.
(650) 858-7710 (office number)
(650) 858-4925 (fax)
The latest stable version of Hypermail is Version 2.1.9. It is available from http://www.hypermail-project.org
The latest version of Hypermail is available from the Hypermail Development Center at SourceForge and/or at
http://www.hypermail-project.org/It and past versions are also available via FTP from
The cvs server at :pserver:email@example.com:/CVS usually has a more recent but less tested version.
I have a fat archive that I'd like to split up by month, like I see so many others doing. Is there a description somewhere of a procedure to follow, or will I just have to think it through?
If you are using version 2.1.0 or later and either have gdbm or don't do incremental updates, see the folder_by_date option. The simple way to use this is to add these to your .hmrc:
folder_by_date="%y%m"and regenerate your archive from its mbox file.
usegdbm = 1
An older alternative is a set of scripts in a directory named archive/ that has tools to do just what you want to do.
If you want index files split by month but don't need to split the archive into multiple directories, try adding "monthly_index=1" in your config file (usually ~/.hmrc) (available in version 2.1). A summary.html file will provide links to all the monthly indices. This is probably appropriate for archives with a few thousand messages, but for larger archives I recommend splitting into multiple directories.
There's a script at http://users.netrus.net/troc/perl.html called mms (monthly mail splitter) which has also been reported useful.
What I'd like to do is change the font of the archives pages. I tried doing this by adding a <FONT FACE=...> tag in the header.hyp file and a <FONT> tag in the footer file, but it didn't work. Is there something in the program itself that's preventing me from making this change?
Yes and no. Let me guess... You have hm_usetable = 1. The code for tables is not inheriting the FONT values and that they need to be set in the <TH..> tags. If tables are not used it works as expected.
To test it put a
<FONT SIZE="1" FACE="GENEVA,ARIAL,HELVETICA">
in the test-index.hyp and test-msg.hyp. In test-footer.hyp put
With hm_usetable = 1 in the test.rc file, then ran "hypermail -c test.rc -m testmail" and everything between the "menus" was the right FONT but the menus were not.
Then edit the test.rc file and set hm_usetable = 0. Next remove the existing testdir and rerun hypermail again. This time the FONT works as expected.
Is this what is happening to you ? If so the code will need to be modified.
I've enabled this option in .hyprc (the configuration file to which the pipe script for my archive points). Unlike the other options, this one does not create a link to mailto:firstname.lastname@example.org as I would expect. Any ideas?
HM_MAILTO has a couple different uses. One is to trigger the insertion of the <LINK REV=made HREF=mailto:...> header in the HTML sources. This is most useable with ascii browsers such as lynx.
hm_mailto = [ email-address | NONE ]
# The address of the contact point that is put in the HTML header line
# <LINK REV=made HREF=mailto:hm_mailto>
# The <LINK...> header can be disabled by default by setting
# mailto to NONE.
It can also be used in a hypermail page template file since it resolves to %m.
For example, your footer file might look like...
<P ALIGN=CENTER><IMG SRC="/images/bar.png" WIDTH="400" HEIGHT="4" ALT="---------"></P>
This archive was generated by %u on %g
Send administrative comments to<A HREF="mailto:%m">%m</A>
<P ALIGN=CENTER><IMG SRC="/images/bar.png" WIDTH="400" HEIGHT="4" ALT="---------"></P>
In this case the %m is expanded to email@example.com.
I would like to add a link to the menu that says "Send a Message to the List." I read through the documentation on your website, and I think I know what I have to do. However, I cannot find an example of what a .hyp template file should look like.
That's what "Respond" on the menubar does. It allows a person to reply to the existing message, with the reply sent to the list address. And "mail a new topic" on the menubar allows a user to send a new message to the list.
To enable this feature set
hm_hmail = firstname.lastname@example.org
I would like to use Hypermail on my Windows box. Can I ? If so how do I build the latest version ?
There is a complete description on how to build hypermail on a Windows system at win32.html. This was written by Bob Crispen <email@example.com>. (Thanks Bob!)
The Subject index page does not seem to do the right sorting. My list has a "subject prefix" so people can filter their inbound mail better. Is that confusing the sorting ?
Yes. Hypermail functions that deal with replies look for the Re: and return a pointer to the subject line after the "Re: ". The listserver software is prefixing the subject line contents with [subject-prefix]. For example:
Subject: [subject-prefix] the subject of the message
Subject: [subject-prefix] Re: the subject of the message
The best solution is to use the directive
stripsubject = [subject-prefix]in the config file for that list. Then [subject-prefix] is stripped before the Reply processing occurs and the proper things happen. This is the proper fix since hypermail would need to know to strip the [subject-prefix] from the initial messages to get it right.
Which configuration file should I use ?. Is it the hypermail.rc file in the Configs directory? I'm trying to edit the appearance of pages created by hypermail, but I think I'm trying to edit the wrong config file.
With one of the later versions you can use the -v option to generate a config file that you can use. There is not just one config file. What are included are examples.
$ hypermail -v > some-file.rc
Edit the some-file.rc and set the values to what you want.
Then run hypermail using the config file by:
$ hypermail -c some-file.rc.
The source is available from
However: When downloading though IE v4 browser on an NT
PC, you get a file called hypermail_tar.tar.
Depending on your browser MIME type setup and support applications, the filename downloaded might be hypermail.tar, hypermail.tar.gz, etc. In any case, you will be informed as to the filename when you actually download it onto a Windows/NT PC. Use that name from that point forward.
I'm looking for a good way to throttle hypermail. When it runs it is taking over both CPU's on my system. Is there a way to have it limit itself?
There is currently no "nice" call in hypermail to limit itself. Maybe
we can consider it in the future. You might run it as a subcommand to
nice. For example in an aliases file:
"|nice someval 'hypermail command line'"
I've NEVER tried this so... ;)
You might also be looking at a very large archive with lots of messages being the cause. If so then try breaking it up into smaller archives such as monthly archives. Tools are available for that in the latest release.
And if the list is a high traffic list, consider not running it from a sendmail alias and instead, run it from cron. (To assure it does not run unnecessarily, consider using 'make' to check dependencies on the inbound mailbox and the archive itself. If the mailbox is newer, then run the hypermail command. If not, then no new message have been received so don't bother running it.
If the you are using the linkquotes option and incremental update (-u option), add a searchbackmsgnum line to your config file. It controls the tradeoff between speed and the reliability of finding the right source for quoted text. Try to set it to the largest number of messages between a message and the final direct reply to that message.
Where can I find a program that provides an easy way of adding a "search this archive" feature to my hypermail archive?
These seem to be the most popular choices:
You can also use search engines by putting text such as this on
your web page (although this search produces results from an entire site,
not just the email archive):
<input type=text name=as_q>
<input type=hidden name=as_sitesearch value=hypermail-project.org>
<input type=submit value="Search Hypermail">
You can probably get more complete (but apparently not recent) info at: Search Engine Software For Your Web Site.
It uses the In-Reply-To: header if that is available. If not, it uses the References: header if that is available. If these are not available, it looks for previous messages with the same subject header. Matches based on the subject are listed as "maybe" replies.
If the linkquotes option is used, it will also search the message bodies of the previous searchbackmsgnum (default = 500) messages for text that looks like it is being quoted in the current message. If it finds one or more prior messages with such text matches, it will treat the one with the longest match as the message being replied to. The exact algorithms for deciding what is quoted text are a bit complex. These matches override the In-Reply-To: and References: info (this rule may deserve further thought).
One simple way is to combine them into one mailbox, and send that to
hypermail. Something like
"cat file1 file2 file3 > combined"should do that.
Another way is to invoke hypermail several times, using the -u flag for any mailboxes that you want added after the html archive has been started:
hypermail -m file1 hypermail -u -m file2 hypermail -u -m file3
Do not try to send hypermail more than one mailbox at a time, or send it a second mailbox without using the -u flag or the increment=1 or increment=-1 option.
No attachment "needs" octet-stream. octet-stream is a label that describes the attachment as being "a stream of octets". What is that you say? Well, the application didn't know any more specifics and thus it identified it as good as possible. It knows it is a stream of octets, nothing else.
So, an attachment coming as "octet-stream" can be pretty much ANYTHING. You have no idea, and neither does anyone else. The only way to figure out is to download the file and see for yourself, ask the person who mailed it or to hope that the mail it came with describes what the attachment was about.
"octet-stream" could just as well be named "I haven't got the slightest idea what this is, but I know it is built up with a series of bytes".
One possibility is that those messages have a header saying
X-No-Archive: yeswhich seems to indicate that the author doesn't want them included in any archive. This is controlled by a configure option which defaults to:
deleted = "X-Hypermail-Deleted X-No-Archive"To get Hypermail to treat these as normal messages, add this to your config file (which is ~/.hmrc by default) or alter the "deleted" line in your existing config file to:
deleted = "X-Hypermail-Deleted"
If the bad dates were caused by a computer with the date set absurdly, try running mailbox_date_trimmer.py, available in the Hypermail's contrib directory.
If the bad dates are in a format that Hypermail doesn't understand, then you will probably need to edit them manually.