1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Hypermail Documentation</TITLE>
<LINK REV="made" HREF="mailto:webmaster@hypermail-project.org">
</HEAD>
<BODY BGCOLOR="#ffffff" TEXT="#000000">
<H1 ALIGN=CENTER><IMG SRC="hypermail.png" ALIGN="middle" WIDTH="60" HEIGHT="60" ALT=""> Hypermail</H1>
<HR>
<P>
<STRONG>Contents:</STRONG>
<UL>
<LI><A HREF="#1">What is Hypermail?</A>
<LI><A HREF="#2">Usage</A>
<LI><A HREF="#3">Command-Line Options</A>
<UL>
<LI><A HREF="#3.1">Input and Output Options</A>
<LI><A HREF="#3.2">Archive Interface Options</A>
<LI><A HREF="#3.3">Updating Options</A>
<LI><A HREF="#3.4">Miscellaneous Options</A>
</UL>
<LI><A HREF="#4">Configuration Options</A>
<LI><A HREF="#5">Order of Options Processing</A>
<LI><A HREF="#6">Other Things</A>
<LI><A HREF="#6b">Running Hypermail Automatically</A>
<LI><A HREF="#7">Getting Help With Hypermail</A>
<LI><A HREF="#8">Getting Hypermail Software</A>
<LI><A HREF="#9">Credits</A>
<LI><A HREF="#10">See Also</A>
</UL>
<P>
<HR>
<H1><A NAME="1" HREF="#">What is Hypermail?</A></H1>
<STRONG>Hypermail</STRONG> 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.
<P>
Each HTML file that is generated for a message contains (where applicable):
<P>
<UL>
<LI>the subject of the article,
<LI>the name and email address of the sender,
<LI>the date the article was sent,
<LI>links to the next and previous messages in the archive,
<LI>a link to the message the article is in reply to, and
<LI>a link to the message next in the current thread.
</UL>
<P>
In addition, Hypermail will convert references in each message to email addresses and URLs to hyperlinks so they can be selected. Email addresses can be converted to <STRONG>mailto:</STRONG> URLs or links to a CGI mail program.
<P>
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.
<P>
Hypermail was originally developed and designed by <A HREF="mailto:gruber@intraspect.com">Tom Gruber</A> for Enterprise Integration Technologies (EIT) in Common Lisp. It was later rewritten in C by <A HREF="mailto:kev@kevcom.com">Kevin Hughes</A> while at EIT. Hypermail is now being maintained by Peter McCluskey <A HREF="mailto:pcm@rahul.net"><pcm@rahul.net></A>.
<P>
To see what Hypermail can do, take a look at these Hypermail-produced archives:
<P>
<UL>
<LI><A HREF="http://www.hypermail-project.org/archive/">Hypermail Development Archives</A>
<LI><A HREF="http://www.landfield.com/wu-ftpd/mail-archive/">WU-FTPD Mailing list Archives</A>
<LI><A HREF="http://www.faqs.org/faq-maintainers/mail-archive">FAQ Maintainers Archives</A>
</UL>
<P>
<HR>
<H1><A NAME="2" HREF="#">Usage</A></H1>
<P>
<PRE>
Usage: hypermail [options]
Options:
-a URL : URL to other archives
-A : Maintain an mbox archive
-b URL : URL to archive information
-c file : Configuration file to read in
-d dir : The directory to save HTML files in
-g : Build a GDBM header cache
-i : Read messages from standard input
-l label : What to name the output archive
-m mbox : Mail archive to read in
-M : Use metadata
-n listaddr : The submission address of the list
-o keyword=val: Set config item
-p : Show progress
-s htmlsuffix : HTML file suffix (.html, .htm, ..)
-t : Use Tables
-T : Use index tables
-u : Append all input messages
-v : Show configuration variables only
-V : Show version information and exit
-x : Overwrite previous messages
-X : Write haof XML files
-0 number : Delete messages
-1 : Read only one mail from input
-L lang : Specify language to use (de en es fi fr is pl pt sv no el gr ru it )
</PRE>
<P>
Using the flags <STRONG>-h</STRONG>, or <STRONG>-?</STRONG> with Hypermail will display this usage summary.
<P>
<HR>
<H1><A NAME="3" HREF="#">Command-Line Options</A></H1>
<A NAME="3.1" HREF="#"><STRONG>Input and Output Options:</STRONG><BR></A>
<BLOCKQUOTE>
<STRONG>-i</STRONG>,
<BR><STRONG>-m</STRONG> <EM>"mailbox"</EM>,
<BR><STRONG>-d</STRONG> <EM>"directory"</EM>,
<BR> <STRONG>-c</STRONG> <EM>"file"</EM>
</BLOCKQUOTE>
<P>
To tell Hypermail what mailbox to read in, use the <STRONG>-m</STRONG> option. If articles will be sent to Hypermail through standard input, use the <STRONG>-i</STRONG> option. Note that the <STRONG>-m</STRONG> and <STRONG>-i</STRONG> options can't be used together! By default, Hypermail will look for a file called <STRONG>mbox</STRONG> to read its articles in from.
<P>
The <STRONG>-d</STRONG> option specifies the directory to put the HTML files and index files that are created into. If the directory doesn't exist, a new one will be created with the name that is specified. If the <STRONG>-d</STRONG> option isn't used, Hypermail will look for a directory with the same name as the mailbox or will create one if needed.
<P>
<PRE>
example 1: hypermail -m "wu-ftpd" -d "/wu-ftpd"
example 2: cat "/var/spool/mail/wu-ftpd" | hypermail -i
</PRE>
<P>
<OL>
<LI>This example reads the articles in <STRONG>wu-ftpd</STRONG> and will save the output in the <STRONG>/wu-ftpd</STRONG> directory.
<P>
<LI>This reads the file <STRONG>/var/spool/mail/wu-ftpd</STRONG> from standard input and will save the output in a directory called <STRONG>archive</STRONG> in the same directory Hypermail was run from.
</OL>
<P>
Note that Hypermail can only read messages in the UNIX mailbox format! Such archives are typically RFC 2822 mail messages appended to each other that look similar to this:
<P>
<PRE>
From john@foo.com Mon Jan 1 00:01:30 1994
Date: Mon, 1 Jan 1994 00:01:15 PDT
From: john@foo.com
To: everyone@foo.com
Subject: Hello, world!
Hi, everyone, just saying hello!
From someone.else@foo.com Mon Jan 1 00:02:00 1994
Date: Mon, 1 Jan 1994 00:01:45 PDT
...
</PRE>
<P>
The messages are typically separated by lines in this format:
<P>
<PRE>
From wu-ftpd@wugate.wustl.edu Fri Jul 1 00:18:20 1994
</PRE>
<P>
The <STRONG>-c</STRONG> option tells Hypermail to read in settings from a <A HREF="hmrc.html">configuration file</A>. By default, the program will attempt to read settings from a file called <STRONG>.hmrc</STRONG> in the user's home directory if it exists.
<P>
In the configuration file, variables are set in the following manner:
<P>
<BLOCKQUOTE>
<STRONG>
variable = number
<BR>variable = "string"
</STRONG>
</BLOCKQUOTE>
The complete set of variables that Hypermail recognizes is described in the <A HREF="hmrc.html">Configuration Options</A> page.
<P>
<A NAME="3.2" HREF="#"><STRONG>Archive Interface Options:</STRONG></A>
<BLOCKQUOTE>
<STRONG>-l</STRONG> <EM>"label"</EM>,
<BR><STRONG>-b</STRONG> <EM>"About URL"</EM>,
<BR> <STRONG>-a</STRONG> <EM>"Other Archives URL"</EM>
</BLOCKQUOTE>
<P>
The <STRONG>-l</STRONG> 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.
<P>
The <STRONG>-a</STRONG> option includes a link labelled "Other mail archives" in the index pages to any specified URL. This way users who are looking at the archive have the opportunity to go to pointers to other mail archives. By default, this will be a pointer to the parent directory in which the archive files reside.
<P>
The <STRONG>-b</STRONG> option includes a link labelled "About this archive" in the index pages to any specified URL. This way users who are looking at the archive have the opportunity to go to information about the archive.
<P>
<PRE>
example: hypermail -l "WU-FTPD Development Archives"
-a "http://www.landfield.com/wu-ftpd/"
-b "http://www.landfield.com/wu-ftpd/mail-archive/"
</PRE>
<P>
In the index files for the archive, the above setting will produce something like this:
<P>
<BLOCKQUOTE>
<STRONG>(top of page)</STRONG>
<P>
<STRONG>WU-FTPD Archives</STRONG>
<UL>
<LI><A HREF="http://landfield.com/wu-ftpd/"><STRONG>About this archive</STRONG></A>
<LI><A HREF="http://landfield.com/wu-ftpd/mail-archive/"><STRONG>Other mail archives</STRONG></A>
</UL>
<P>
<STRONG>(list of indexed articles below)</STRONG>
</BLOCKQUOTE>
<P>
<A NAME="3.3" HREF="#"><STRONG>Updating Options:</STRONG><BR></A>
<BLOCKQUOTE>
<STRONG>-x</STRONG>,
<BR><STRONG>-u</STRONG>
</BLOCKQUOTE>
<P>
The <STRONG>-x</STRONG> option 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.
<P>
The <STRONG>-u</STRONG> 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.
<P>
Hypermail used to require that you only send it one message at a time when
using the <STRONG>-u</STRONG> option, but it should now work reasonably when
given mailboxes containing multiple messages.
<P>
When using the <STRONG>-u</STRONG> 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
<STRONG>-u</STRONG> option.
<P>
<PRE>
example 1: cat "one.letter" | hypermail -i -u -d "/wu-ftpd/mail-archives"
example 2: hypermail -u -m "one.letter" -d "/wu-ftpd/mail-archives"
example 3: hypermail -m "mailbox" -d "/wu-ftpd/mail-archives" -x
example 4: hypermail -m "mailbox" -d "/wu-ftpd/mail-archives"
</PRE>
<P>
<OL>
<LI>This tells Hypermail to take the article it receives from standard input
and integrate it with the archive under the <STRONG>wu-ftpd/mail-archives</STRONG>
directory. If no archive exists, a new one will be created with the specified
letter as the first file of the archive.
<P>
<LI>This does the same thing, except that the letter is read in from a file that contains only that letter.
<P>
<LI>With these options, Hypermail will read in the articles from
<STRONG>mailbox</STRONG> and write over any existing files in the
<STRONG>wu-ftpd/mail-archives</STRONG> directory if they exist. If no archive
exists, a new one will be created.
<P>
<LI>With these options, Hypermail will read in the articles from
<STRONG>mailbox</STRONG> and only write new articles - it will not overwrite
any existing archive files.
</OL>
<P>
Note that 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.
<P>
<A NAME="3.4" HREF="#"><STRONG>Miscellaneous Options</STRONG><BR></A>
<BLOCKQUOTE>
<STRONG>-p</STRONG>
<BR><STRONG>-v</STRONG>
<BR><STRONG>-V</STRONG>
</BLOCKQUOTE>
<P>
The <STRONG>-p</STRONG> option 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. This information is written to standard output.
<P>
The <STRONG>-v</STRONG> option shows the configuration variables and their values that Hypermail would use if it was run with the same <A HREF="hmrc.html">configuration file</A> and command line options. This is useful when starting up a new list or modifying a list configuration file. Once the information is displayed, Hypermail terminates and no actual processing occurs.
<P>
The <STRONG>-V</STRONG> option prints the Hypermail version information. Once the information is displayed, Hypermail terminates and not actual processing occurs.
<p>
The <strong>-0</strong> option list message numbers that should be deleted
from the html archive. The mbox is not changed.
It is equivalent to the <a href="hmrc.html#delete_msgnum">delete_msgnum</a>
option.
<P>
<HR>
<H1><A NAME="4" HREF="#">Configuration Options</A></H1>
Hypermail has many variables that can be set as environment variables or as variables in the specified <A HREF="hmrc.html">configuration file</A>. For instance, using the C shell, one could define variables in this manner:
<P>
<PRE>
setenv HM_MBOX /home/john/my_mailbox
setenv HM_FILEMODE 0600
</PRE>
<P>
In the configuration file, variables must be in lowercase and separated by their values with an equals (<STRONG>=</STRONG>) sign. Blank lines and lines beginning with the <STRONG>#</STRONG> character are skipped:
<PRE>
mbox = "/home/john/my_mailbox"
filemode = 0600
</PRE>
While the example uses quotes (<STRONG>"</STRONG>), they is not required when used in the configuration file.
<P>
Below is a list of the more important configuration variables.
For a complete list, see <a href="hmrc.html">hmrc.html</a>.
<P>
<DL>
<DT><STRONG>HM_LABEL "label name"</STRONG>
<DD> Define this as the default label to put in archives.
<P>
<DT> <STRONG>HM_ARCHIVES "URL"</STRONG>
<DD> This will create a link in the archived index pages to the specified
URL. Define as <STRONG>"NONE"</STRONG> to omit such a link.
See also <a href="hmrc.html#custom_archives">custom_archives</a>.
<P>
<DT> <STRONG>HM_HMAIL "list submission address"</STRONG>
<DD> 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.
<br>See also <a href="hmrc.html#newmsg_command">newmsg_command</a>
and <a href="hmrc.html#replymsg_command">replymsg_command</a>.
<P>
<DT> <STRONG>HM_DIR "directory"</STRONG>
<DD> This is the default directory that Hypermail will look for when creating and updating archives. If defined as <STRONG>"NONE"</STRONG>, the directory name will be the same name as the mailbox read in.
<P>
<DT><STRONG>HM_MBOX "filename"</STRONG>
<DD> This is the default mailbox to read messages in from. Define this with
a value of <STRONG>"NONE"</STRONG> to read from standard input as the
default.
<P>
<dt><strong>HM_STRIPSUBJECT "text"</strong></dt><dd>
A string to be stripped from all subject lines. Helps
unclutter mailing lists which add tags to subject lines.
</dd>
<P>
<a name="folder_by_date"></a>
<dt><strong>HM_FOLDER_BY_DATE = "strftime-date-format"</strong></dt><dd>
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 <a href="hmrc.html#usegdbm">usegdbm</a> option.
<br>See also <a href="hmrc.html#monthly_index">monthly_index</a>.
</dd>
<P>
<a name="isodate"></a>
<dt><strong>HM_ISODATE boolean_number</strong></dt><dd>
Set this to On to display article received dates in
YYYY-MM-DD HH:MM:SS format. If used with the <a href="hmrc.html#gmtime">gmtime</a>
option, a Z will be inserted between the DD and HH.
<br>See also <a href="hmrc.html#eurodate">eurodate</a> and <a href="hmrc.html#dateformat">dateformat</a>.
</dd>
<P>
<DT><STRONG>HM_LANGUAGE "language-id"</STRONG>
<DD> 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 <a href="hmrc.html#iso2022jp">iso2022jp</a>
and <a href="hmrc.html#eurodate">eurodate</a>.
<BR>
<BR> Current supported languages, with their default locales:
<BLOCKQUOTE>
de (de_DE) - German
<BR>en (en_US) - English
<BR>es (es_ES) - Spanish
<BR>fi (fi_FI) - Finnish
<BR>fr (fr_FR) - French
<BR>el (el) - Greek
<BR>gr (el_GR) - Greek
<BR>is (is_IS) - Icelandic
<br>no (no_NO) - Norwegian
<BR>pl (pl_PL) - Polish
<br>pt (pt_BR) - Brazilian Portuguese
<BR>ru (ru_RU) - Russian
<BR>sv (sv_SE) - Swedish
</BLOCKQUOTE>
The directory /usr/share/i18n/locales on many systems has the locale
codes that are available on that system.
<P>
<DT> <STRONG>HM_INCREMENT -1, 0, or 1</STRONG>
<br> Define as <strong>1</strong> to append all input messages to the end of existing archives.
<br> Define as <strong>0</strong> 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.
<br> Define as <strong>-1</strong> 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.<br>
<P>
<a name="append"></a>
<dt><strong>HM_APPEND boolean_number</strong></dt><dd>
Set this to On to maintain a parallel mbox archive. The file
name defaults to mbox in the directory specified by -d or dir.
<br>See also <a href="hmrc.html#append_filename">append_filename</a>
and <a href="hmrc.html#txtsuffix">txtsuffix</a>.
</dd>
<P>
<DT> <STRONG>HM_SHOWHTML 0, 1, or 2</STRONG>
<DD>
Define as <STRONG>1</STRONG> 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.
<P>
Define as <STRONG>2</STRONG> for more complex conversion to html
similar to that in <a href="http://www.cs.wustl.edu/~seth/txt2html/">txt2html.pl</a>.
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.
<P>
<DT> <STRONG>HM_LINKQUOTES boolean_number</STRONG>
<DD> 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 <a href="hmrc.html#searchbackmsgnum">searchbackmsgnum</a> option to alter the performance).
<P>
<DT> <STRONG>HM_ABOUT "URL"</STRONG>
<DD> This will create a link in the archived index pages to the specified URL. Define as <STRONG>"NONE"</STRONG> to omit such a link.
<P>
<DT> <STRONG>HM_MAILTO address</STRONG>
<DD> The address of the contact point that is put in the HTML header line
<DL>
<DD><STRONG><LINK REV=made HREF=mailto:MAILTO></STRONG>
</DL>
The <LINK...> header can be disabled by default by setting HM_MAILTO to "NONE".
<P>
<DT><STRONG>HM_INDEXTABLE boolean_number</STRONG>
<DD>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.
<P>
<DT><STRONG>HM_FILTER_OUT expression</STRONG>
Delete messages with headers matching regular expressions
(<a href="http://www.pcre.org/">PCRE</a> syntax).
See also <a href="hmrc.html#filter_require">filter_require</a>,
<a href="hmrc.html#filter_out_full_body">filter_out_full_body</a>, and
<a href="hmrc.html#filter_require_full_body">filter_require_full_body</a>.
<P>
<DT> <STRONG>HM_DOMAINADDR "domainname"</STRONG>
<DD>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.
<P>
<DT><STRONG>HM_USEMETA [ 0 | 1 ]</STRONG>
<DD>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 <STRONG>1</STRONG>, 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
<STRONG>att-num</STRONG>. The metadata for those attachments will
then be stored in directory <STRONG>att-num/.meta</STRONG>. If a
MIME attachment is stored in file <STRONG>att-file</STRONG>, its
metadata will be stored in file <STRONG>att-file.meta</STRONG>. This
convention is directly compatible with the Apache server handling of
metadata.
<P>
<DT> <STRONG>HM_REVERSE boolean_number</STRONG>
<DD> Defining this variable as <STRONG>1</STRONG> 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.
<P>
<DT> <STRONG>HM_MHTMLHEADERFILE "path"</STRONG>
<DD> 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 <STRONG><HTML>, <HEAD>, and <BODY> </STRONG> and other statements that suit your local customized needs.
<br>
See also <a href="hmrc.html#ihtmlheaderfile">ihtmlheaderfile</a>,
<a href="hmrc.html#ihtmlfooterfile">ihtmlfooterfile</a>, and
<a href="hmrc.html#mhtmlfooterfile">mhtmlfooterfile</a>.
<P>
<DT><STRONG>HM_CONFIGFILE "filename"</STRONG>
<DD>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.
<P>
</DL>
<P>
<HR>
<H1><A NAME="5" HREF="#">Order of Options Processing</A></H1>
<P>
Settings are processed in this order:
<P>
<OL>
<LI>From the program's hard-wired internal defaults (specified in options.h),
<LI>From runtime environment variables,
<LI>From the configuration file,
<LI>From command-line options.
</OL>
<P>
Early versions of Hypermail read the command line before reading the
configuration file.
<P>
<HR>
<H1><A NAME="6" HREF="#">Other Things</A></H1>
<STRONG>Filenames:</STRONG> In the specified directory, articles will be read out in the order that they were read in from a mailbox or standard input. Filenames start at zero and increase in this fashion: <STRONG>0000.html, 0001.html, 0002.html</STRONG>, etc. In the same directory:
<P>
<UL>
<LI><STRONG>date.html</STRONG> is the index of articles sorted by the date they were received by the system's mail daemon.
<LI><STRONG>thread.html</STRONG> is the index of articles sorted by thread first, then the date they were received.
<LI><STRONG>subject.html</STRONG> is the index of articles sorted by subject. Any "Re:" prefixes in front of subjects will have been stripped out.
<LI><STRONG>author.html</STRONG> 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.
<LI>One of the above files will be called <STRONG>index.html</STRONG> and is the default index that users can go to when entering the archive.
</UL>
<P>
<STRONG>Sorting:</STRONG> 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.
<P>
<a name="6b"></a>
<STRONG>Running Hypermail automatically:</STRONG> All that's needed to start archiving email messages is to set up Hypermail to do incremental updates in your <STRONG>/etc/aliases</STRONG> file (assuming that you use <strong>sendmail</strong> or something that works like it to deliver mail).
Here's what an entry might look like (the last line is one unbroken line):
<BLOCKQUOTE>
<STRONG>
#
<BR># WU-FTPD Mailing List Archives
<BR>#
<BR>wulist: "|/usr/local/bin/hypermail -i -u -d /wu-ftpd/mail-archive -l \"WU-FTPD Mailing List Archive\""
</STRONG>
</BLOCKQUOTE>
After adding the entry, make sure <STRONG>newaliases</STRONG> is run to update the
mail aliases. This entry will run Hypermail and update/create the archive whenever
a new message is received. Hypermail also works well as a <STRONG>cron</STRONG> job.
Because <STRONG>sendmail</STRONG> may run Hypermail as different users, you will
want to make sure that archive directories and files are made readable and writeable
by a trusted sendmail user (or read/writable by everyone if you can't do that)
when they are created. This will ensure that there will be no problems incrementally
updating the archive.
<P>If you use qmail instead of sendmail, you probably want to create a file
/var/qmail/alias/.qmail-<mylistemailaddress> containing something like this:
<blockquote>
|/usr/local/bin/hypermail -i -u -d /wu-ftpd/mail-archive -l \"WU-FTPD Mailing List Archive\"
</blockquote>
<P>
If you are running Linux kernel version 2.4 or higher,
<a href="http://www.student.lu.se/~nbi98oli/dnotify.html">dnotify</a>
looks like it provides another way to automate Hypermail.
<P>
<STRONG>Including HTML in messages:</STRONG> One can include formatted HTML in message bodies by enclosing the HTML with the <HTML> tag (in either uppercase or lowercase). This tag must be on a line by itself:
<P>
<PRE>
This text will not be parsed...
<html>
<STRONG>this text</STRONG> will be parsed as HTML.
</html>
This text will not be parsed...
</PRE>
<P>
There is no limit to how often the <HTML> tag can be used in an article.
<P>
<HR>
<H1><A NAME="7" HREF="#">Getting Help With Hypermail</A></H1>
<P>
If you are are looking for more information on Hypermail and its features and
developmental status, check out
<a href="http://sourceforge.net/projects/hypermail/">SourceForge: Project Info - hypermail</a>
and <a href="http://www.hypermail-project.org">hypermail-project.org</a>. Additional
documentation and the hypermail development list archives are available there.
<P>
<HR>
<H1><A NAME="8" HREF="#">Getting Hypermail Software</A></H1>
<P>
Hypermail is available free of charge under GNU Public License. More details
about the GPL are available at <A HREF="http://www.fsf.org/copyleft/gpl.html">http://www.fsf.org/copyleft/gpl.html</A>.
<P>
Currently, <a href="http://sourceforge.net/projects/hypermail/">SourceForge: Project Info - hypermail</a>
has the most recent version.
<P>
<A HREF="http://www.hypermail-project.org/">The Hypermail Development Center</A> also has beta development versions of hypermail available from time to time.
<P>
<HR>
<H1><A NAME="9" HREF="#">Credits</A></H1>
I would like to thank <A HREF="mailto:gruber@intraspect.com">Tom Gruber</A>,
who originally designed and developed Hypermail in Common Lisp, for the basis
of a <STRONG>GREAT</STRONG> tool.
<P>
I'd also like to thank <A HREF="mailto:kev@kevcom.com">Kevin Hughes</A> for
developing the initial C version of Hypermail. Kevin also provided a great
deal of assistance with restarting the current hypermail development.
<P>
There are a great deal of people that also contributed to Hypermail's development.
The <A HREF="http://www.hypermail.org/hypermail/credits.html">Hypermail Development Center Credits</A> page is an attempt to let you know just who they are.
<P>
Hypermail development is currently being fostered by
<A HREF="mailto:pcm@rahul.net"><Peter McCluskey></A>.
<P>
<HR>
<H1><A NAME="10" HREF="#">See Also</A></H1>
<BLOCKQUOTE>
<STRONG>hypermail(1)</STRONG>,
<STRONG>hmrc(4)</STRONG>,
<STRONG><A HREF="hmrc.html">Hypermail List Configuration File</A></STRONG>.
and
<STRONG><A HREF="customizing.html">Customizing Hypermail Pages</A></STRONG>
and <STRONG><A HREF="archive_search.html">Adding a Search Engines to your Hypermail Archive</A></STRONG>
</BLOCKQUOTE>
<HR>
<P>
<EM>
Please send any feature requests, bug fixes, and comments on Hypermail
to <A HREF="mailto:hypermail@hypermail-project.org"><hypermail@hypermail-project.org></A>.
You may subscribe to the list by sending a message with the word
"subscribe" in the Subject: field to hypermail-request@hypermail-project.org.
</EM>
<P>
<SMALL><EM><STRONG>
Last updated May 24, 2004
</STRONG></EM></SMALL>
</BODY>
</HTML>
|