The hypermail list configuration file is used to specify list
specific or user specific information to hypermail.
Comments are denoted by the '#' character at the begining of the line.
The file to use can be specified via the -c command line argument.
The default file is .hmrc in the user's home direectory.
Examples listed on this page are shown in this style. The default
value is shown unless otherwise indicated. Off is equivalent
to 0, and On is equivalent to 1 for options which are either
on or off.
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 iso2022jp
and eurodate.
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
pl (pl_PL) - Polish
sv (sv_SE) - Swedish
The directory /usr/share/i18n/locales on many systems has the locale
codes that are available on that system.
language = en
iso2022jp = [ 0 | 1 ]
Set this to On to support ISO-2022-JP messages.
iso2022jp = 0
eurodate = [ 0 | 1 ]
Set this to reflect how you want dates displayed in the index files.
Set as 1 to to use European date format "DD MM YYYY".
Define as 0 to to use American date format "MM DD YYYY".
eurodate = 0
dateformat = strftime-date-format
Format used in strftime(3) call for displaying dates.
See strftime(3) for the valid conversion specifications.
dateformat = "%D-%r Z" (disabled by default)
isodate = [ 0 | 1 ]
Set this to On to display article received dates in
YYYY-MM-DD HH:MM:SS format. If used with the gmtime option, a
Z will be inserted between the DD and HH.
isodate = 0
gmtime = [ 0 | 1 ]
Set this to On to display article received dates using
Greenwich Mean Time (UTC) rather than local time.
This is the default title you want to call your archives.
Set this to NONE to use the name of the input mailbox.
label = Hypermail Development List (default value is filename?????)
usetable = [ 0 | 1 ]
Setting this variable to 1 will tell Hypermail to generate an
index menu at the top and bottom of each page in a table format.
Set to 0 if you want the standard Hypermail page look and feel.
usetable = 0
hmail = [ Mailing List Submission Address | NONE ]
Set this to the list's submission address. When enabled, this can be
used to submit a new message to the list served by the hypermail archive.
"NONE" means don't use it.
hmail = hypermail@landfield.com (disabled by default)
newmsg_command = [ string ]
This specifies the mail command to use when converting the
set_hmail address to links in replies. The variables $TO, $SUBJECT,
and $ID can be used in constructing the command string.
newmsg_command=mailto:$TO
replymsg_command = [ string ]
This specifies the mail command to use when converting the
set_hmail address to links in replies. The variables $TO, $SUBJECT,
and $ID can be used in constructing the command string. The value
from the mailcommand option will be used if this option is not specified.
There may be browsers that will benefit from adding something like
%26In-Reply-To=<$ID>
to the command, but I've heard no reports of this actually working.
This is the mail command that email links go to, for instance
"mailto:$TO" or "/cgi-bin/mail?to=$TO&replyto=$ID&subject=$SUBJECT"
In constructing this command, you can specify variables:
$TO : the email address of the person you're sending mail to.
$ID : the ID of the message you're replying to.
$SUBJECT: the subject you're replying to.
NONE disables mailcommand usage.
There may be browsers that will benefit from adding something like
%26In-Reply-To=<$ID>
to the command, but I've heard no reports of this actually working.
mailcommand = mailto:$TO?Subject=$SUBJECT
mailto = [ email-address | NONE ]
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
mailto to NONE.
mailto = webmaster@landfield.com (disabled by default)
domainaddr = [ domainname | NONE ]
Domain-ize Addresses -- addresses appearing in the RFC822 field
which lack hostname can't be made into proper HREFs. Because the
MTA resides on the same host as the list, it is often not required
to domain-ize these addresses for delivery. In such cases, hypermail
will add the DOMAINADDR to the email address.
This string causes the messages to be put in subdirectories
by date. The string will be passed to strftime(3) to generate
subdirectory names based on message dates. Suggested values are
"%y%m" or "%b%y" for monthly subdirectories, "%Y" for
yearly, "%G/%V" for weekly. Do not alter this for an existing
archive without removing the old html files. If you use this
and update the archive incrementally (e.g. with -u), you must
use the usegdbm option.
folder_by_date = %y%m (disabled by default)
monthly_index = [ 0 | 1 ]
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.
monthly_index = 0
msgsperfolder = integer
Put messages in subdirectories with this many messages per
directory. Do not use this and folder_by_date on the same archive.
Do not alter this for an existing archive without removing the old
html files. Deleted/expired messages are counted
for the purpose of deciding how many messages to put in a subdirectory.
msgsperfolder = 100 (disabled by default)
yearly_index = [ 0 | 1 ]
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.
This indicates the default type of main index hypermail will generate.
Users see this type of index when the archive is first accessed.
When using the folder_by_date or msgsperfolder options, this option
applies to subdirectories.
This specifies the default index that users can view when
entering the top level of an archive that uses the folder_by_date
or msgsperfolder option.
default_top_index = folders
avoid_indices = [ string ]
This is a list of index files to not generate. Valid types are
date, thread, author, and subject.
They can be listed individually on multiple lines or comma or space
separated on a single line. When using the folder_by_date or
msgsperfolder options, this option applies to subdirectories.
avoid_indices = subject author (disabled by default)
avoid_top_indices = [ string ]
This is a list of index files to not generate for the top
directory of an archive using the folder_by_date or
msgsperfolder option. Valid types are date, thread, author,
subject, folders, and attachment.
avoid_top_indices = date thread author subject
attachmentsindex = [ 0 | 1 ]
Set this to Off to make hypermail not output an index of messages
with attachments.
attachmentsindex = On
latest_folder = [ string ]
If folder_by_date or msgsperfolder are in use, create
a symbolic link by this name to the most recently created
subdirectory. Note that many web servers are configured to
not follow symbolic links for security reasons.
Setting this variable to 1 will tell Hypermail to generate
a message index Subject/Author/Date listings using a table
format. Set to 0 if you want the standard Hypermail index
page look and feel.
indextable = 0
reverse = [ 0 | 1 ]
Setting this variable to 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.
Set to 0 if you want latest message on the bottom for date and
thread indexes.
reverse = 0
thrdlevels = number
This specifies the number of thread levels to outline in the thread
index. For instance, if 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. The normal value is 4.
thrdlevels = 4
thread_file_depth = [ 0 | 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.
thread_file_depth = 0
icss_url= [ URL | NONE ]
This option let's you specify an external stylesheet that you would like
to link to the index files. The stylesheet will be linked to thru a LINK
element in the HEAD in the document's HEAD.
By default, this option is deactivated.
Controls the labels used in folders.html to describe the
directories created by the folder_by_date or msgsperfolder
options. For folder_by_date labels, the describe_folder string
will be passed to strftime(3) the same as the folder_by_date string.
For msgsperfolder:
%d for the directory number (starts with 0)
%D for the directory number (starts with 1)
%m for the number of the first message in the directory
%M for the number of the last message that can be put in the directory.
The default is the value of folder_by_date if that is selected, "%d" for msgsperfolder.
This creates a link in the archived index pages labeled
"Other mail archives". Set this to NONE to omit such a link.
archives = NONE
custom_archives = [ HTML text | NONE ]
If this variable is defined, a navigation entry will be
created below the sorted_by_x list entry, with the text
"Other mail archives: " followed by the value of this
variable. Set it to NONE to ommit such an entry.
custom_archives = NONE
about = [ URL | NONE ]
This creates a link in the archived index pages labeled
"About this archive". Set this to NONE to omit such a link.
about = NONE
ihtmlheaderfile = [ path to index header template file | NONE ]
Set this to the path to the Index header template file. The template
file contains HTML directives and substitution cookies for runtime
expansion.
ihtmlheaderfile = /lists/hypermail-idxheader.hyp (disabled by default)
ihtmlfooterfile = [ path to index footer template file | NONE ]
Set this to the path to the Index footer template file. The template
file contains HTML directives and substitution cookies for runtime
expansion.
ihtmlfooterfile = /lists/hypermail-idxfooter.hyp (disabled by default)
Set this to 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.
Set this to 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.
showhtml = 1
showbr = [ 0 | 1 ]
Set this to 1 if you want article lines to end with the <br> tag.
Else set to 0 to have non-quoted lines word-wrap. Only takes effect
if showhtml is set to 1.
showbr = 1
showhr = [ 0 | 1 ]
Set to 1 if you want horizontal rules <HR> before and after
the articles. Set to 0 if you don't.
showhr = 1
iquotes = [ 0 | 1 ]
Set this to 1 if you want quoted lines to be shown in italics. Only
take effect if showhtml is set to 1.
iquotes = 1
mcss_url= [ URL | NONE ]
This option let's you specify an external stylesheet that you would like
to link to the message files. The stylesheet will be linked to thru a LINK
element in the HEAD in the document's HEAD.
By default, this option is inactive.
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.
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).
linkquotes = 0
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.
searchbackmsgnum = 500
link_to_replies = [ string | NONE]
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.
link_to_replies = NONE
quote_link_string = [ string | NONE ]
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.
quote_link_string = NONE
spamprotect = [ 0 | 1 ]
Set this to On to make hypermail not output real email addresses
in the output HTML but instead it will obfuscate them a little.
spamprotect = Off
spamprotect_id = [ 0 | 1 ]
Set this to On to make hypermail not output real email message
ids in HTML comments (sometimes used internally by hypermail) but
instead it will obfuscate them a little so they don't look like
email addresses to spammers.
Set to 1 to show all replies to a message as links in article files.
If this is set to 0 no reply links are generated.
showreplies = 1
show_msg_links = [ 0 | 1 | 3 | 4 ]
Set this to 1 if you want links to Next, Prev, Next thread, Reply to, etc.
displayed on the article pages. Setting this to 0 disables these links
from appearing on the generated pages. Set it to 3 to produce those links
only at the top of the message pages, or 4 to produce those links only at
the bottom of the message.
show_msg_links = 1
show_index_links = [ 0 | 1 | 3 | 4 ]
Set this to 1 to show links to index pages from the top and
bottom of each message file. Set it to 0 to avoid those links.
Set it to 3 to show the links only at the top of the message
pages, or 4 to produce those links only at the bottom of the message.
show_index_links = 1
showheaders = [ 0 | 1 ]
Set this to 1 to show the RFC 822 message headers To:,
From:, and Subject: information found in the email messages.
Set to 0 if you want to hide mail headers in articles.
showheaders = 0
show_headers = List of RFC 822 Headers to display
This is the list of headers to be displayed if showheaders
is set to 1 (TRUE) They can be listed comman 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
If show_headers contains the special character ``*'', then
hypermail will display all header lines.
NOTE: Do not put the ':' at the end of the headers.
show_headers = From,Subject,Date,Message-ID (disabled by default)
Define to On to make text/html parts to get inlined with the mails.
If set to Off, HTML-parts will be stored as separate files.
A "Content-Disposition: attachment;" line in the mail will
cause an HTML-part to be stored as a separate file even if this option is On.
inlinehtml = 1
usemeta [ 0 | 1 ]
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 set to 1, the Content-Type header of a MIME
attachment will be stored in a metadata file.
Let us say that the MIME attachments for a message are
stored in directory att-num. The metadata for those attachments
will then be stored in directory att-num/.meta. If a
MIME attachment is stored in file att-file, its metadata
will be stored in file att-file.meta. This convention is
directly compatible with the Apache server handling of metadata.
usemeta = 0
text_types = list of types to be the same as text/plain
This is a list of MIME types that you want hypermail to treat
exactly as if they were text/plain. They can be listed individually
on multiple lines or comma or space separated on a single line.
text_types = text, text/plain, message/rfc822 (disabled by default)
inline_types = indicate data types data to be inlined
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.
When mails using multipart/mixed types are scanned, this list of
MIME types defines which part you want presented in the result.
prefered_types = text/plain, text/html
ignore_types = indicate types of attachments to ignore
This is the list of MIME attachment types that you do not want to
do anything with. They are quietly ignored and are not processed.
They can be listed individually on multiple lines or comma or space
separated on a single line.
Two special types may be used here:
$BINARY - ignore all types that would be stored as separate files.
$NONPLAIN - ignore all types not treated as text/plain, and all $BINARY types.
Note: the behavior of these may be affected by the inlinehtml option.
%p for the full path to the attachment
%f for the file name part only
%d for the directory name only
%n for the message number
%c for the content type string
attachmentlink = "%p"
unsafe_chars = list of chars to prohibit
Any characters listed in this string are removed from user-specified
attachment filenames. Those characters will be replaced by a "_"
(which means that specifying "_" here won't have any effect).
Note that many characters (including / and \) are removed by the
safe_filename in parse.c regardless of what this option says. There
might be some security problems that can be prevented if you specify
"." here (e.g. if a web server is configured to enable server side
includes on filenames ending in something other than .shtml), but
that will prevent browsers from recognizing many file types.
unsafe_chars = "." (disabled by default)
save_alts = [ 0 | 1 | 2 ]
This controls what happens to alternatives (other than the prefered
alternative) for multipart/alternative messages.
0 - discard non-prefered alternatives
1 - show all alternatives inline
2 - put non-prefered alternatives in a separate file.
save_alts = 0
alts_text = descriptive text
If save_alts is 1, this text is put between the alternatives.
If save_alts is 2, this text is used to describe the link to each
alternative file.
alts_text = "alternate version of message" (the default if save_alts = 2)
alts_text = "<hr>" (the default if save_alts = 1)
Set to 1 to make Hypermail overwrite existing archives by default.
(This defaulted to 1 for most versions 2.0 through 2.1.3, presumably
to encourage archives that upgraded to have a single style. The default
was changed back to 0 after 2.1.3).
overwrite = 0
increment = [ 0 | 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. 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.
increment = 0
readone = [ 0 | 1 ]
Set this to 1 to specify there is only one message in the input.
readone = 0
mbox = [ filename | NONE ]
This is the default mailbox to read messages in from. Set this
with a value of NONE to read from standard input as the default.
mbox = NONE
ietf_mbox = [ 0 | 1 ]
Setting this variable to 1 will tell hypermail that the
mbox is formatted according to the IETF mbox convention:
all lines, except for the envelope, are prefixed
with a > char.
ietf_mbox = 0
discard_dup_msgids = [ 0 | 1 ]
Set this to 0 to accept messages with a Message-ID matching that
of a message already in this archive. By default such messages
are discarded.
discard_dup_msgids = 1
require_msgids = [ 0 | 1 ]
Set this to 0 to accept messages without a Message-ID header.
Set this to 1 to discard messages without a Message-ID header.
By default such messages are discarded.
Regular expression support is provided by the
PCRE library package,
which is open source software, written by Philip Hazel, and copyright
by the University of Cambridge, England.
The full body searches can be slow, and do not match multi-line strings
in message bodies. A string that spans multiple lines of a header can be
matched.
filter_out = expression
Delete from the html archives any message having a header line
which matches any of these expressions. Uses the same rules for
deletion as the expires option. The expressions use the same
syntax as Perl regular expressions.
The following examples should reject messages Cc'd to more than
3 addresses or from any address at spammers.com. This option is disabled
by default.
Delete from the html archives any message not having header lines
which match each of these expressions. Uses the same rules for
deletion as the expires option. The expressions use the same
syntax as Perl regular expressions.
filter_require =
filter_out_full_body = expression
Delete from the html archives any message having a line
which matches any of these expressions. Uses the same rules for
deletion as the expires option. The expressions use the same
syntax as Perl regular expressions.
filter_out_full_body =
filter_require_full_body = expression
Delete from the html archives any message not having lines
which match each of these expressions. Uses the same rules for
deletion as the expires option. The expressions use the same
syntax as Perl regular expressions.
This is the default directory that Hypermail uses when creating
and updating archives. If set to NONE, the directory will have the
same name as the input mailbox.
dir = NONE
htmlsuffix = [ html | htm | shtml ... ]
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.
htmlsuffix = shtml
dirmode = octal number
This is an octal number representing the rwx modes 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. This must be an octal
number.
dirmode = 0755
filemode = octal number
This is an octal number representing the permission modes 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. This must be an octal
number.
Set this to 1 to use gdbm to implement a header cache.
This will speed up hypermail, especially if your filesystem is slow.
It will not provide any speedup with the linkquotes option.
usegdbm = 0
append = [ 0 | 1 ]
Set this to On to maintain a parallel mbox archive. The file
name defaults to mbox in the directory specified by -d or dir.
append = 1
append_filename = [ string ]
Specifies the filename to be used by the append option.
$DIR may be used to specify a name relative to the directory
specified in the -d or dir option.
append_filename = $DIR/INBOX
txtsuffix = [ string ]
If you want the original mail messages archived in individual files,
set this to the extension that you want these messages to have
(recommended value: txt).
txtsuffix = txt (off by default)
deleted = list of headers used to indicate deletion
This is the list of headers that indicate the message should
not be displayed if the value of this header is 'yes'.
deleted = X-Hypermail-Deleted X-No-Archive
expires = list of headers used to indicate expiration
This is the list of headers that indicate the message should
not be displayed if the value of this header is a date in the past.
expires = Expires
delete_msgnum = list of message numbers
This is the list of message numbers that should be deleted from the
html archive. The mbox is not changed.
delete_msgnum = 42 666 (off by default)
delete_level = [ 0 | 1 | 2 | 3 ]
0 - remove deleted and expired files. Note that with this choice
threading may be screwed up if there are replies to deleted or
expired options and the archive is updated incrementally
1 - remove message body
2 - remove message body for deleted messages, leave expired messages
3 - leave all messages
Deleted and expired messages are removed from the index files
regardless of the delete_level selection.
delete_level = 1
progress = [ 0 | 1 | 2 ]
Set to 1 or 2 to show progress as Hypermail works. Set to 0 for silent
operation. Output goes to standard output.
Set to 1, progress information relating to attachments creation is
overwritten for each new attachment. Set to 2, attachment creation
information is listed individually with the number of the message
the attachments relates to.
progress = 0
warn_surpressions [ 0 | 1 ]
Set this to 1 to get warnings (on stdout) about messages that
are not converted because of they are missing a msgid (if
require_msgids is On) or because one of the following options
surpressed it: deleted expires delete_msgnum filter_out
filter_require filter_out_full_body filter_require_full_body.
warn_surpressions = 1
uselock [ 0 | 1 ]
Controls whether to use hypermail's built-in locking mechanism.
By default, this option is set to 1. Set it to
0 if you have an external locking mechanism,
like, for example, when using procmail or smartlist.
uselock = 0
locktime = number-of-seconds
The number of seconds that a lock should be honored when processing
inbound messages before it is overridden.
locktime = 3600
base_url = url-of-main-archive-directory
The url of the archive's main directory. This is needed when
the latest_folder option is used and the folder_by_date makes
directories more than one level deep (e.g. with '%y/%m').