hmrc(5)                   OpenBSD Programmer's Manual                  hmrc(5)



NAME
       hmrc - Hypermail configuration file

DESCRIPTION
       Hypermail can use a configuration file to allow you to customize the
       individual aspects of a list.  In past versions of hypermail it was
       necessary for all hmrc variables to begin with 'hm_'.  While still
       supported, it is not necessary to use the 'hm_' prefix any longer and
       this document reflects that. [This page is out of date. See the
       hmrc.html file for complete and up to date info.]

In the configuration file, blank lines and lines beginning with a hash mark
(#) are considered comments and are ignored.  The format of the "options" need
to be in lowercase and separated with an equals (=) sign, such as:

       option = value
       mbox = /home/john/my_mailbox
       filemode = 0600

You can specify which configuration file to use on the command line or, if not
specified, Hypermail will use the one specified as CONFIGFILE in options.h.
If the first character is "~", Hypermail will look for the file under the
current user's home directory.

CONFIGURATION OPTIONS
       Below is a list of variables that Hypermail understands.

       Boolean numbers can have the value of 0 or 1.

       htmlsuffix = suffix
              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.

       language = two letter language specification
              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.

          Current supported languages:

                de - German
                en - English
                es - Spanish
                fi - Finnish
                fr - French
                gr - Greek
                el - Greek
                is - Icelandic
                no - Norwegian
                pl - Polish
                ru - Russian
                sv - Swedish

          The directory /usr/share/i18n/locales on many systems has the locale
          codes that are available on that system.


       uselock = boolean_number
              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.

       locktime = number-of-seconds
              Set this to the number of seconds that a lock should be honored
              when processing inbound messages.  Defaults to 3600 seconds.

       usemeta = boolean_number
              This option allows you to use metadata to store the content type
              of a MIME attachment 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 metada.

       mbox = filename
              This is the mailbox to read messages in from.  Set this with a
              value of NONE to read from standard input.

       ietf_mbox = boolean_number
              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.

       archives = URL
              This will create a link in the archived index pages labeled
              Other mail archives to the specified URL.  Set this to NONE to
              omit such a link.

       custom_archives = HTML text
              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.

       about = URL
              This will create a link in the archived index pages labeled
              About this archive to the specified URL.  Set this to NONE to
              omit such a link.

       indextable = boolean_number
              Setting this variable to 1 will tell Hypermail to generate an
              message index Subject/Author/Date listings using a table format.
              Set to 0 if you want the standard Hypermail index page look and
              feel.

       usetable = boolean_number
              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.

       reverse = boolean_number
              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.

       showheaders = boolean_number
              Set this to 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.

       showhtml = [ 0 | 1 | 2 ]
              Set this to 1 to show the articles in a proportionally-spaced
              font rather than a fixed-width (monospace) font.  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.

       showbr = boolean_number
              Set this to 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 showhtml is enabled.

       iquotes = boolean_number
              Set this to 1 to italicize quoted lines.

       showhr = boolean_number
              Set this to 1 to place horizontal rules before and after
              articles.

       show_msg_links = boolean_number
              Set this to 1 to put the individual message links at the top of
              the individual message pages.  Set this to 0 to produce pages
              without the Next, Previous, Reply, In-Reply-To, etc.  links.

       eurodate = boolean_number
              Set this to 1 to display article received dates with days before
              months instead of months before days.

       showreplies = boolean_number
              Set this to 1 to show all replies to a message as links in
              article files.

       discard_dup_msgids = boolean_number
              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.

       require_msgids = boolean_number
              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.

       spamprotect = boolean_number
              Set this to 1 to make hypermail not output real email addresses
              in the output HTML, but instead obfuscate them a little.  By
              default email addresses are not obfuscated.

       antispam_at = string
              Set this to 1 make hypermail use something like "_at_" instead
              of the RFC 2822 @ address separator.

       attachmentsindex = boolean_number
              Set this to 0 to make hypermail not output an index of articles
              with attachments.  By default hypermail outputs this index.

       dateformat = strftime date format
              Format used in strftime(3) call for displaying dates.  See
              strftime(3) for the valid conversion specifications.

       stripsubject = string
              A string to be stripped from all subject lines. Helps unclutter
              mailing lists which add tags to subject lines.

       mailto = address
              The address of the contact point that is put in the HTML header
              line
                 <LINK REV=made HREF=mailto:MAILTO>
              Setting this to NONE disables <LINK...> header generation.

       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?subject=$SUBJECT and the Subject: would also be filled
          in.  This can 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.

       domainaddr = domainname
              Set this to the domainname you want added to a mail address
              appearing in the RFC822 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.

       label = label name
              Define this as the label to put in archives.

       dir = directory
              This is the 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.

          Using date substitution cookies, you can tell Hypermail to archive
          messages in directories by the date they were received.

          Substitution cookies supported

              %d - two digit day of month (1-28/30/31)
              %D - three letter day of the week
              %m - two digit month of year (1-12)
              %M - three letter month of year (Jan, ..., Dec)
              %y - four digit year (1990,..2001)

          For example, if you wished to have Hypermail archive files by year
          and month, you might use

                    dir = /lists/somelist/%y/%M

          When a message was processed it would be put into a directory
          /lists/somelist/1998/Jun (if the message is processed in June of
          1998).  If the message arrives and there is no storage directory,
          Hypermail will automatically create it and store the message in the
          new directory.
           Note that the date that Hypermail was run will be used, not a date
          from the message (use the folder_by_date option to have Hypermail
          use dates from messages).

       attachmentlink = attachment link format

          Substitution cookies supported:

              %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

       dirmode = octal_number
              This is an octal number representing the permissions 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.

       filemode = octal_number
              This is an octal number representing the file permissions 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.

       overwrite = boolean_number
              Set this to 1 to make Hypermail overwrite existing archives.

       increment = boolean_number
              Set this to 1 to read one article only and append it to existing
              archives.

       progress = [ 0 | 1 | 2 ]
              Set this to 1 or 2 to always show a progress report as Hypermail
              works.  With a setting of 1, hypermail overwrites the progress
              information relating to attachment creation.  With a setting of
              2, attachment creation information is listed individually with
              the number of the message the attachments relate to.  This is
              written to stdout.

       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.

       defaultindex = type
              This specifies the default index that users can view when
              entering the archive.  Valid types are date, thread, author, and
              subject.

       avoid_indices = which_index_files_not_to_use
              This is a list of index files to not generate. Valid types are
              date, thread, author, and subject.

       ihtmlheaderfile = path
              Define path as the path to a template 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.

       ihtmlfooterfile = path
              Define path as the path to a template 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.

       mhtmlheaderfile = path
              Define path as the path to a template file containing valid HTML
              formatting statements that you wish to use 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.

       mhtmlfooterfile = path
              Define path as the path to a template file containing valid HTML
              formatting statements you wish to use 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.

       hmail = Mailing_List_Submission_Address
              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.

       icss_url = URL
              This will link an external stylesheet found at the given URL to
              the index files. This will happen thru a LINK element in the
              index document's HEAD.  By default this option is desactivated.

       mcss_url = URL
              This will link an external stylesheet found at the given URL to
              the message files. This will happen thru a LINK element in the
              message document's HEAD.  By default this option is
              desactivated.

       show_headers = list_of_RFC_Headers_to_display
              This is the list of headers to be displayed if showheaders is
              set to 1 (TRUE).  They can be listed comma or space separated
              all on a single line.  If it contains the special character
              ``*'' hypermail will display all header lines.

       readone = boolean_number
              Set this to 1 to specify there is only one message in the input.

       inlinehtml = boolean_number
              This is used to make text/html parts to get inlined within the
              mail messages.  If set to 0 , HTML-parts will be stored as
              separate files.

       readone = boolean number
              Set this to 1 to specify there is only one message in the input.

       text_types = MIME types to be treated as text/plain.
              This is a list of MIME types that you want hypermail to treat
              exactly as if they were text/plain.  This can be listed
              individually on multiple lines or comma or space separated on a
              single line.

       prefered_types = which alternative types to use
              When mails using multipart/mixed types are scanned, this is the
              list of alternative MIME types that you want used.  This can be
              listed individually on multiple lines or comma or space
              separated on a single line.  Note: Order is important.

       inline_types = which_image_types_should_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.

       ignore_types = types_of_MIME_attachments_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.

       linkquotes = [ 0 | 1 ]
              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).

       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.

       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.

       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.

       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.

       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.

       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.

       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.

HTML TEMPLATE FILE SUBSTITUTION COOKIES
       You can insert "substitution cookies" in the header and footer HTML
       template files so appropriate information can be filled in at runtime.

       Substitution cookies supported:

            %% - '%' character
            %~ - Storage directory
            %e - Email addres of message author - Not valid on index pages
            %h - HMURL
            %i - Message-id - Not valid on index pages
            %l - Archive label
            %m - Mailto address
            %p - PROGNAME
            %s - Subject of message or Index Title
            %v - VERSION
            %u - Expanded version link (HMURL,PROGNAME,VERSION)
            \n - newline character
            \t - tab character

       Additional cookies generate the complete META lines:

            %A - Author META TAG - Not valid on index pages
            %D - Date META TAG - Not valid on index pages
            %S - Subject META TAG



                               February 01, 2002                       hmrc(5)
