|
|
| |
HYPERMAIL(1) |
FreeBSD General Commands Manual |
HYPERMAIL(1) |
hypermail - convert mail archives in UNIX box format to HTML pages
hypermail [-AgiMptTuvVxX1] [-m mailbox] [-d
directory] [-l label] [-L language]
[-a URL] [-b URL] [-c file]
[-n listaddress] [-o keyword=value] [-s
htmlsuffix] [-0 number] [mailbox]
hypermail is a program that takes a file of mail messages in UNIX mailbox
format and generates a set of cross-referenced HTML documents. Each file that
is created represents a separate message in the mail archive and contains
links to other articles, so that the entire archive can be browsed in a number
of ways by following links. Archives generated by Hypermail can be
incrementally updated, and Hypermail is set by default to only update archives
when changes are detected.
Each HTML file that is generated for a message contains (where
applicable): the subject of the article, the name and email address of the
sender, the date the article was sent, links to the next and previous
messages in the archive, a link to the message the article is in reply to,
and a link to the message next in the current thread.
In addition, Hypermail will convert references in each message to
email addresses and URLs to hyperlinks so they can be selected. Email
addresses will be converted to mailto: URLs, or links to a CGI mail
program.
To complement each set of HTML messages, four index files
are created which sort the articles by date received, thread, subject, and
author. Each entry in these index files are links to the individual articles
and provide a bird's-eye view of every archived message:
- date.html
- The index of articles sorted by the date they were received by the mail
daemon.
- thread.html
- The index of articles sorted by thread first, then the date they were
received.
- subject.html
- The index of articles sorted by subject. Any Re: prefixes in front
of subjects will have been stripped out.
- author.html
- is the index of articles sorted by the first word of the author's name. If
the author's name can't be determined, their email address will be
substituted.
One of the index files will be called index.html and is the
default index that users can go to when entering the archive. In the
specified directory, articles will be read out in the order that they were
read from a mailbox or standard input. Filenames start at zero and increase
in this fashion: 0000.html, 0001.html, 0002.html, etc.
- -a URL
- This option includes a link labelled Other mail archives in the
index pages to the specified URL. This way users who are looking at the
Hypermail archive have the opportunity to go to pointers to other mail
archives. By default, this is a link to the parent directory which holds
the archive files.
- -A
- Use this to maintain a parallel mbox archive. The file name defaults to
mbox in the directory specified by -d or dir.
- -b URL
- This option includes a link labelled About this archive in the
index pages to the specified URL. This way users who are looking at the
Hypermail archive have the opportunity to go to information about the
archive.
- -c file
- This option specifies a configuration file to read settings from. By
default, Hypermail will look for a file called .hmrc in the user's
home directory.
- -d directory
- Specifies the directory to put the HTML files and index files that are
created. If the directory doesn't exist, a new one will be created with
the name that is specified. If the -d option isn't used, Hypermail
will look for a directory with the same name as the input mailbox or will
create one if needed.
- -g
- Use this to use gdbm to implement a header cache. This will speed up
hypermail, especially if your filesystem is slow. It will probably not
provide any speedup if you use the linkquotes option.
- -i
- Reads in articles from standard input.
- -l label
- This option tells Hypermail what to call the archive - the name that is
specified will be in the title of the index pages so users know what sort
of messages are being archived.
- -L language
-
This is a two-letter string specifying the default language to use, or a
longer string specifying a language and locale. Set this the value of the
language table you wish to use when running and generating archives. See
also the iso2022jp and eurodate config file options.
Current supported languages, with their default locales:
de (de_DE) - German
en (en_US) - English
es (es_ES) - Spanish
fi (fi_FI) - Finnish
fr (fr_FR) - French
el (el) - Greek
gr (el_GR) - Greek
is (is_IS) - Icelandic
no (no_NO) - Norwegian
pl (pl_PL) - Polish
pt (pt_BR) - Brazilian Portuguese
ru (ru_RU) - Russian
sv (sv_SE) - Swedish
- -m mailbox
- Specifies the mailbox to read articles in from. By default, Hypermail will
look for a file called mbox.
- -M
-
This option allows you to use metadata to store the content type of a MIME
attachments and, later on, when a user browses the attachment, send back
this information in the HTTP Content-Type header. When used, the
Content-Type header of a MIME attachment will be stored in a metadata
file.
- -n submission-address
- This is the list´s submission address. In this manner people will
be able to submit new messages to the list the hypermail archive
serves.
- -o keyword=value
- This is a means of setting any variable that can be specified in a config
file.
- -p
- This shows a progress report as Hypermail reads in and writes out messages
- the number of files that Hypermail is reading and writing and the file
names of the directory and files created are shown.
- -s htmlsuffix
- Use this to specify the html file suffix to be used when Hypermail
generates the html files. This is dependent on local needs. Do not put a
'.' in the value. It would result in "file..html", probably not
what you want.
- -t
-
This will tell Hypermail to generate an index menu at the top and bottom of
each page in a table format.
- -T
- This will tell Hypermail to generate a message index Subject/Author/Date
listings using a table format.
- -u
- This option tells Hypermail to add message(s) to the end of the existing
HTML file archive and integrate them into it by links and
cross-references. All archive index files will be regenerated to include
the new message.
Hypermail used to require that you only send it one message at a time when
using the -u option, but it should now work reasonably when given
mailboxes containing multiple messages.
When using the -u option, don't send any messages that Hypermail has
already processed. If you want Hypermail to recognize that some messages
are old messages that shouldn't be added to the archive again, send it a
mailbox with a complete set of messages and avoid the -u option.
- -v
- This shows a the variables and their values that Hypermail will use
when.
- -V
- This shows the version information for the executing Hypermail. Once
displayed, Hypermail exits without doing any processing.
- -x
- This tells Hypermail to explicitly overwrite any previous HTML files that
may exist. Use this option only when it is desirable to completely rewrite
the entire archive.
- -X
- Use this to let hypermail write an XML archive overview file in each
directory. The filename is archive_overview.haof.
- -0 number
-
This is a message number that should be deleted from the html archive. The
mbox is not changed.
See the delete_level config file option for more info about what happens to
the message.
- -1
-
Use this to specify there is only one message in the input.
Note: No matter what options are specified, the index files are always
rewritten. The date when Hypermail was last run is included in index pages, so
it's easy to tell when the archive was last updated.
Note: The -i and -m options cannot be used
together. Only archives in UNIX mailbox format can be read in - mailboxes of
this kind are usually appended RFC2822-compliant articles separated by lines
such as "\nFrom person@site Mon Jan 10 12:34:56 1994".
Note: If the mailbox that is being read from is an archive
that new messages are always being added to, don't use the -u option.
Hypermail will then read in all the messages given it but will only write
new messages that have been appended to the mailbox.
The following settings can be read in as environment variables or from the
specified configuration file. Environment settings are in uppercase. For
instance, in the C shell, variables can be set as:
setenv HM_MBOX /home/john/my_mailbox
setenv HM_FILEMODE 0600
In the configuration file, blank lines and lines beginning with a
hash mark (#) are ignored. Variables must be in lowercase and
separated by values with an equals (=) sign, such as:
mbox = /home/john/my_mailbox
filemode = 0600
Settings are read in this order: from the program's hard-wired
internal defaults, from environment variables, from the configuration file,
from command-line options.
See hmrc.4 for more information on configuration file
usage.
Below is a partial list of variables that Hypermail understands. A
full list is available in the file hmrc.html, or you can also look in
setup.c. Boolean numbers can have the value of 0 or 1.
- HM_CONFIGFILE filename
- This is the default configuration file to read settings in from. This can
only be specified as an environment variable. If the first character is
"~", Hypermail will look for the file under the current user's
home directory.
- HM_MBOX filename
- This is the default mailbox to read messages in from. Define this with a
value of NONE to read from standard input as the default.
- HM_ARCHIVES URL
- This will create a link in the archived index pages labelled Other mail
archives to the specified URL. Define as NONE to omit such a
link.
- HM_ABOUT URL
- This will create a link in the archived index pages labelled About this
archive to the specified URL. Define as NONE to omit such a
link.
- HM_REVERSE boolean_number
- Defining this variable as 1 will reverse-sort the article entries
in the date and thread index files by the date they were received. That
is, the most recent messages will appear at the top of the index rather
than the other way around.
- HM_SHOWHEADERS boolean_number
- Define this as 1
to show the article header lines in the archived HTML files. These lines
typically include the To:, From: and Subject:
information found in most email messages.
- HM_SHOWHTML 0, 1, or 2
- Define as 1 to show the articles in a proportionally-spaced font
rather than a fixed-width (monospace) font. Setting this option to 1 also
tells Hypermail to attempt to italicize quoted passages in articles.
Define as 2 for more complex conversion to html similar to that in
txt2html.pl. Showhtml = 2 will normally produce nicer looking results than
showhtml = 1, and showhtml = 0 will look pretty dull, but 1 and 2 run
risks of altering the appearance in undesired ways.
- HM_SHOWBR boolean_number
- Define as 1 to place <br> tags at the end of article
lines. Otherwise, all non-quoted article lines will word wrap. This only
takes effect if HM_SHOWHTML is defined.
- HM_IQUOTES boolean_number
- Define as 1 to italicize quoted lines.
- HM_SHOW_MSG_LINKS boolean_number
- Define as 1 to put the individual message links at the top of the
individual message pages. Define as 0 to produce pages without the
Next, Previous, Reply, In reply to, etc. links.
- HM_EURODATE boolean_number
- Define as 1 to display article received dates with days before
months instead of months before days.
- HM_SHOWREPLIES boolean_number
- Define as 1 to show all replies to a message as links in article
files.
- HM_MAILTO address
- The address of the contact point that is put in the HTML header line
<LINK REV=made HREF=mailto:MAILTO>
The <LINK...> header can be disabled by default by setting HM_MAILTO
to "NONE".
- HM_MAILCOMMAND command
- This specifies the mail command to use when converting email addresses to
links. The variables $TO, $SUBJECT, and $ID can be used in
constructing the command string. $TO represents the address to send
mail to, $SUBJECT represents the subject that is being replied to,
and $ID represents the message ID of the article that is being
replied to. If defined as NONE , email addresses will not be
converted to links in articles. A possible command one could use is
mailto:$TO , but this could easily be changed to specify a CGI
program such as /cgi-bin/mail?to=$TO . A CGI mail program is
included with the source which can be used for this purpose.
- HM_DOMAINADDR domainname
- Set this to the domainname you want added to a mail address appearing in
the RFC2822 field which lack a hostname. When the list resides on the same
host as the user sending the message, it is often not required of the MTA
to domain-ize these addresses for delivery. In such cases, Hypermail will
add the DOMAINADDR to the email address. If defined as NONE , this
feature is turned off.
- HM_LABEL label name
- Define this as the default label to put in archives.
- HM_DIR directory
- This is the default directory that Hypermail will look for when creating
and updating archives. If defined as NONE the directory will have
the same name as the input mailbox.
- HM_DIRMODE octal_number
- This is an octal number that new directories are set to when they are
created. If the archives will be made publically available, it's a good
idea to define this as 0755. If files will be updated incrementally
with sendmail, this will have to be 0777.
- HM_FILEMODE octal_number
- This is an octal number that new files are set to when they are created.
If the archives will be made publically available, it's a good idea to
define this as 0644.
- HM_OVERWRITE boolean_number
- Define as 1 to make Hypermail overwrite existing archives by
default.
- HM_INCREMENT 0, 1, or -1
- Define as 1 to append all input messages to the end of existing
archives.
Define as 0 for it to read a mailbox that corresponds to the entire
archive. (See the mbox_shortened option for an exception to the
requirement that it be the entire archive). If there are any existing html
messages, it will figure out which ones at the end of the mailbox are new,
and add only those that haven't been converted yet.
Define as -1 to have hypermail figure out whether the input is
entirely new messages to be appended or whether it contains messages that
are already in the archive. A value of -1 cannot be used with the
mbox_shortened option or with the -i command line option or with mbox =
NONE.
- HM_PROGRESS boolean_number
- Define as 1 or as 2 to always show a progress report as
Hypermail works. Defined as 2 shows more information about the attachment
files created. This is written to stdout.
- HM_THRDLEVELS number
- This specifies the number of thread levels to outline in the thread index.
For instance, if HM_THRDLEVELS is 2, replies to messages
will be indented once in the index, but replies to replies, etc., will
only be indented once as well.
- HM_DEFAULTINDEX type
- This specifies the default index that users can view when entering the
archive. Valid types are date, thread, author, and
subject.
- HM_HMAIL submission-address
- This is the email address used to send a new message to a hypermail
archive. "NONE" means don't use it. Since this is different for
each hypermail archive, you should probably leave it set to
"NONE" here, and let it be specified at runtime by command-line
parameters in the list specific configfile.
- HM_IHTMLHEADERFILE path
- Define path as the path to a file containing valid HTML formatting
statements that you wish to included at the top of every index page.
Hypermail will print this file as the header of the index so make sure it
contains <HTML>, <HEAD>, <BODY> and other
statements that suit your local customized needs.
- HM_IHTMLFOOTERFILE path
- Define path as the path to a file containing valid HTML formatting
statements that you wish to included at the bottom of every index page.
Hypermail will print this file as the trailer of the index so make sure it
contains at a minimum a </BODY> and </HTML>
statement.
- HM_MHTMLHEADERFILE path
- Define path as the path to a file containing valid HTML formatting
statements that you wish to included at the top of every message page.
Hypermail will print this file as the header of the message so make sure
it contains <HTML>, <HEAD>, <BODY> and other
statements that suit your local customized needs.
- HM_MHTMLFOOTERFILE path
- Define path as the path to a file containing valid HTML formatting
statements that you wish to included at the bottom of every message page.
Hypermail will print this file as the trailer of the message so make sure
it contains at a minimum a </BODY> and </HTML>
statement.
- HM_SHOW_HEADERS list of headers to display
- Define the list of headers to be displayed if the variable HM_SHOWHEADERS
is set to 1 (ON). This is a comma or space separated all on a single line
such as
show_headers = From,Subject,Date,Message-ID
or they can be listed individually or any combination of.
show_headers = From
show_headers = Subject
show_headers = Date
show_headers = Message-ID
As a special case you can use the identifier ``*'' as header to tell
hypermail
to display all header lines.
- HM_INLINE_TYPES image data types to inline
-
This is the list of MIME types that you want inlined as opposed to
simply linked into the message. They can be listed individually on
multiple lines or comma or space separated on a single line.
inline_types = image/gif image/jpeg
or
inline_types = image/gif inline_types = image/jpeg
- HM_IGNORE_TYPES indicate attachment types to ignore
-
This is the list of MIME attachment types that you do not want to do
anything with. They are quietly ignored. They can be listed individually
on multiple lines or comma or space separated on a single line.
ignore_types = text/x-vcard application/x-msdownload
or
ignore_types = text/x-vcard
ignore_types = application/x-msdownload
- HM_LINKQUOTES boolean_number
-
Set this to On to create fine-grained links from quoted
text to the text where the quote originated. It also improves
the threads index file by more accurately matching messages
with replies. Note that this may be rather cpu intensive (see
the searchbackmsgnum option to alter the performance).
- HM_SEARCHBACKMSGNUM postive integer
-
If the linkquotes option is on and an incremental update is being
done (-u option), this 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.
- HM_LINK_TO_REPLIES text used to indicate links to replies
-
If the linkquotes option is on, specifying a string here
causes it to generate links from original quoted text the
location(s) in replies which quote them. The string
is used to display the link.
- HM_QUOTE_HIDE_THRESHOLD percent (integer)
-
If the linkquotes option is on, setting this to an
integer less than 100 will cause it to replace quoted
text with one-line links if the percent of lines in the
message body (exluding the signature) consisting of
quoted text exceeds the number indicated by this option.
- HM_QUOTE_LINK_STRING text to appear in place of quoted text
-
If the quote_hide_threshold option is being used, the
quote_link_string will be used if available to display the
link that replaces the quoted text. If no string is specified
here, the first line of each section of quoted text will used.
- HM_MONTHLY_INDEX = boolean_number
-
Set this to On to create additional index files broken up
by month. A summary.html file will provide links to all the
monthly indices.
- HM_YEARLY_INDEX = boolean_number
-
Set this to On to create additional index files broken up
by year. A summary.html file will provide links to all the
yearly indices.
- HM_THREAD_FILE_DEPTH = 0 or 1
-
If nonzero, break the threads index file into multiple files,
with the initial message of each thread in the main index file
along with links to files containing the replies. Setting this
to 1 creates one file for each thread that has replies, and is
recommended for archives with over a few hundred messages.
Setting this greater than 1 will produce multiple levels of files
for each thread whose replies are nested by more than 1 level,
but that is rarely useful. This option is currently disabled
if the indextable option is turned on, and probably needs to
be less than thrdlevels.
Sorting: In the date and thread index files, note that these lists are
sorted by the date the articles were received by the system's mail daemon, not
by the date they were written on. The order of articles in the date index may
not necessarily match the order in which the article files are written and
linked together. Because of this, it is a good idea to make sure the mailbox
is sorted by date with the most recent messages towards the bottom.
Forwarded messages with bad headers may be incorrectly
handled.
Hypermail was originally designed and developed by Tom Gruber
<gruber@intraspect.com> for Enterprise Integration Technologies (EIT) in
Common Lisp. It was later rewritten in C by Kevin Hughes
<kev@kevcom.com> while at EIT. Kevin passed on-going development and
support for Hypermail to Kent Landfield <kent@landfield.com>.
The latest documentation can usually be found at
.B http://www.hypermail.org/
but you might also want to check the cvs repository which is the first place
that changes become available:
.B http://cvs.hypermail.org/cgi-bin/cvsweb.cgi/hypermail/docs/
I'd like to thank the members of the Hypermail Development list for their
continued encouragement, ideas, bug fixes and participation. Additionally,
following people should be noted for their work and contributions to the
hypermail development. This list is far from complete ...
Bob Crispen <bob.crispen@boeing.com>
Ashley M. Kirchner <ashley@pcraft.com>
Darci Chapman <minerva@phix.com>
Byron C. Darrah <bdarr@sse.FU.HAC.COM>
Dave Kopper <dave@birman.com>
Daniel Stenberg <Daniel.Stenberg@haxx.nu>
I.Ioannou <roryt@hol.gr>
Elliot Lee <sopwith@redhat.com>
Martin Schulze <joey@infodrom.north.de>
Jay Soffian <jay@cimedia.com>
Jared Reisinger <feety@hhhh.org>
Peter C. McCluskey <pcm@rahul.net>
Roy T. Fielding <fielding@kiwi.ics.uci.edu>
Roy Tennant <rtennant@library.berkeley.edu>
Jose Kahan <jose@w3.org>
Bjarni R. Einarsson <bre@netverjar.is>
Francisco Iacobelli <fiacobelli@ibersis.cl>
Nicolas Noble <pixels@chez.com>
Scott Rose <srose@direct.ca>
Greg Shenaut <greg@bogslab.ucdavis.edu>
W. Tasin <tasin@fhm.edu>
Darryl Lee <lee@darryl.com>
Paul Haldane <Paul.Haldane@newcastle.ac.uk>
Andreas Fuchs <asf@ycom.at>
David D Kilzer <ddkilzer@ti.com>
Tim Witham <twitham@pcocd2.intel.com>
Jyrki Kuoppala <jkp@kaapeli.fi>
Bernhard Reiter <bernhard@climate2.geog.uwm.edu>
Hisashi Gotoh <gotoh@horae.dti.ne.jp>
David Eisner <cradle@glue.umd.edu>
Andy Yoder <ayoder@heisenbug.org>
Peter Karlsson <peter@softwolves.pp.se>
Moritz Willers <Moritz.Willers@ubsw.com>
David Bau <davidbau@hotmail.com>
Brian Kirkby <bkirkby@Concentrico.net>
William King <William.King@dadaboom.com>
Visit the GSP FreeBSD Man Page Interface. Output converted with ManDoc. |