phpman > man > reformail(1)

Markdown | JSON | MCP    

REFORMAIL(1)                           Double Precision, Inc.                           REFORMAIL(1)



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



Courier Mail Server                          06/20/2015                                 REFORMAIL(1)
reformail(1)
NAME SYNOPSIS DESCRIPTION
Splitting mailboxes into individual messages Detecting duplicate messages Extracting headers
OPTIONS
-c -dn -f0 -f1
AUTOREPLIES BUGS
-u/-U and -a/-A. Doing so yields unpredictable results. It's better to run reformail several
SEE ALSO AUTHOR
Sam Varshavchik
NOTES

Generated by phpman local Author: Che Dong Under GNU General Public License
2026-06-15 07:47 @216.73.216.200
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top