Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
HYPERMAIL(1)		    General Commands Manual		  HYPERMAIL(1)

NAME
       hypermail - convert mail	archives in UNIX box format to HTML pages

SYNOPSIS
       hypermail  [-AgiMptTuvVxX1]  [-m	mailbox] [-d directory]	[-l label] [-L
       language] [-a URL]  [-b	URL]  [-c  file]  [-n  listaddress]  [-o  key-
       word=value] [-s htmlsuffix] [-0 number] [mailbox]

DESCRIPTION
       hypermail is a program that takes a file	of mail	messages in UNIX mail-
       box format and generates	a  set	of  cross-referenced  HTML  documents.
       Each file that is created represents a separate message in the mail ar-
       chive and contains links	to other articles, so that the entire  archive
       can be browsed in a number of ways by following links.  Archives	gener-
       ated 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 applica-
       ble): 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  ad-
       dresses	will be	converted to mailto: URLs, or links to a CGI mail pro-
       gram.

       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  au-
	      thor'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 in-
       dex  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.

OPTIONS
       -a URL This option includes a link labelled Other mail archives in  the
	      index  pages to the specified URL.  This way users who are look-
	      ing 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  de-
	      faults 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	 look-
	      ing  at  the Hypermail archive have the opportunity to go	to in-
	      formation	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  op-
	      tion  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, Hy-
	      permail 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 at-
	      tachment 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	Hyper-
	      mail 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  Sub-
	      ject/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 regener-
	      ated 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 reason-
	      ably when	given mailboxes	containing multiple messages.
	       When using the -u option, don't send any	messages  that	Hyper-
	      mail  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 mes-
	      sages 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.

   GENERAL EXECUTION NOTES
       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.

   CONFIGURATION OPTIONS
       The  following settings can be read in as environment variables or from
       the specified configuration file.  Environment settings are  in	upper-
       case.  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 de-
	      fault.

       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  en-
	      tries  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:	infor-
	      mation 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 pas-
	      sages 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 ad-
	      dresses  to  links.  The variables $TO, $SUBJECT,	and $ID	can be
	      used in constructing the command string.	$TO represents the ad-
	      dress  to	 send mail to, $SUBJECT	represents the subject that is
	      being replied to,	and $ID	represents the message ID of the arti-
	      cle  that	 is  being replied to.	If defined as NONE , email ad-
	      dresses 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  ap-
	      pearing  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 ad-
	      dresses for delivery.  In	such cases, Hypermail will add the DO-
	      MAINADDR	to  the	email address.	If defined as NONE , this fea-
	      ture 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	direc-
	      tory 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 de-
	      fault.

       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 mes-
	      sages  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	Hyper-
	      mail works.  Defined as 2	shows more information about  the  at-
	      tachment 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	enter-
	      ing the archive.	Valid types are	date, thread, author, and sub-
	      ject.

       HM_HMAIL	submission-address
	      This is the email	address	used to	send a new message to a	hyper-
	      mail archive.  "NONE" means don't	use it.	 Since this is differ-
	      ent 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  format-
	      ting  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  format-
	      ting 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  format-
	      ting  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  format-
	      ting 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 sepa-
	      rated 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.

BUGS
       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 dae-
       mon, 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.

AUTHORS
       Hypermail was originally	designed and developed	by  Tom	 Gruber	 <gru-
       ber@intraspect.com>  for	 Enterprise  Integration Technologies (EIT) in
       Common Lisp.  It	was later rewritten in C  by  Kevin  Hughes  <kev@kev-
       com.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/

CREDITS
       I'd  like  to  thank  the members of the	Hypermail Development list for
       their continued encouragement, ideas, bug fixes and participation.  Ad-
       ditionally, following people should be noted for	their work and contri-
       butions 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>


NAME | SYNOPSIS | DESCRIPTION | OPTIONS | BUGS | AUTHORS | CREDITS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=hypermail&sektion=1&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help