Provided by: maildrop_2.9.3-2.1_amd64 bug

NAME

       reformail - E-mail reformatting tool

SYNOPSIS

       reformail -s command [option...]

       reformail -D len filename

       reformail -x header:...

       reformail -X header:...

       reformail [options...]

                 See below for additional options

DESCRIPTION

       The reformail program reads a message on standard input, reformats it in some way, and
       writes the message to standard output:

   Splitting mailboxes into individual messages
       The -s option splits the mbox-formatted mailbox file on standard input into individual
       messages. An external program is executed for each message. The contents of each
       individual message will be provided to the external program on standard input.

       If the FILENO environment variable is set to a number, reformail will consecutively
       increment FILENO each time the program is executed for each individual message.

       If FILENO is not set, it's initial value will be "000". If FILENO is set to a non-numeric
       value, FILENO will remain unchanged.

   Detecting duplicate messages
       The -D option implements a simple way to delete duplicate messages in incoming mail.
       filename is a file that will be approximately 'len' bytes long. This file will be used by
       reformail to save message IDs seen in recent mail.  reformail reads the message on
       standard input. If the message has a Message-ID: header that's already in the cache file,
       reformail terminates with the exit code set to 0. Otherwise, reformail terminates with the
       exit code set to 1.

           Note
           Unlike a similar feature in the formail command, reformail takes care of locking the
           file, so it's not necessary to implement your own locking mechanism for this option.

   Extracting headers
       The -x and -X options extract the indicated headers from the message, and print them to
       standard output. Multiple -x and -X options can be specified at the same time, and may be
       intermixed.

       The -x option extracts and prints the contents of the header. The -X option prints the
       name of the header as well.

       In all other situations, reformail copies the message on its standard input to its
       standard output, reformatting the message as follows:

OPTIONS

       -a'header: value'
           Append a custom header to the message if this header does not already exist. If the
           header is either Message-ID: or Resent-Message-ID: and the value is empty, reformail
           generates a (hopefully) unique message ID for you.

       -A'header: value'
           Append a custom header to the message even if this header already exists. If the
           header is either Message-ID: or Resent-Message-ID: and the value is empty, reformail
           generates a (hopefully) unique message ID for you.

       -c
           Concatenate multi-line headers. Headers split on multiple lines are combined into a
           single line.

       -dn
           If n is 1, each line will be terminated with CRLF. If n is 0 (default), each line will
           be terminated with LF.  reformail reads a message with either line terminator, and
           will force the message to have the specified line termination.

       -f0
           Any initial blank lines are removed. If the first non-blank line is a "From_" line, it
           gets converted to a "Return-Path:" header, and any existing "Return-Path:" header gets
           removed. If the message does not start with a "From_" line, the message remains
           unchanged.

       -f1
           Add the "From_" line to the message, if it's not there.  reformail will attempt to
           generate the "From_" line from any Errors-To:, Return-Path:, or From: headers in the
           message. "root" will be used if reformail is unable to determine the return address.

       -i'header: value'
           Appends a custom header to the message. If this header already exists it is renamed by
           prepending "Old-" to the name of the header.

       -I'header: value'
           Append a custom header to the message. If this header already exists in the message,
           the old header is completely removed. If the value is empty, any existing header is
           completely removed, and nothing gets appended.

       -R oldheader: newheader:
           Rename the indicated header.

       -u'header:'
           If this header occurs multiple times in the message, remove all occurrences except the
           first one.

       -U'header:'
           If this header occurs multiple times in the message, remove all occurrences except the
           last one.

AUTOREPLIES

       The autoreply options from earlier versions of mailbot have been moved into mailbot(1)[1].

BUGS

       For the -a, -A, and -I options, a space after the header name and the colon is considered
       to be a non-empty field.

       Do not provide the same header to more than one family of header-modifying options, such
       as -u/-U and -a/-A. Doing so yields unpredictable results. It's better to run reformail
       several times (use a pipe, perhaps).

SEE ALSO

       courier(8)[2], sendmail(8), mailbot(1)[1], maildrop(1)[3].

AUTHOR

       Sam Varshavchik
           Author

NOTES

        1. mailbot(1)
           http://www.courier-mta.org/maildrop/mailbot.html

        2. courier(8)
           http://www.courier-mta.org/maildrop/courier.html

        3. maildrop(1)
           http://www.courier-mta.org/maildrop/maildrop.html