[-D maxlen idcache] [-x headerfield] [-X headerfield] [-a headerfield] [-A headerfield] [-i headerfield] [-I headerfield] [-u headerfield] [-U headerfield] [-R oldfield newfield]
|-b|| Don't escape any bogus mailbox headers (i.e. lines
starting with `From ').|
Define a different quotation prefix. If unspecified it defaults to `>'.
|-Y|| Assume traditional Berkeley mailbox format, ignoring
any Content-Length: fields.|
|-c|| Concatenate continued fields in the header. Might be
convenient when postprocessing mail with standard
(line oriented) text utilities.|
|-z|| Ensure a space exists between field name and content.
Zap fields which contain only a space. Zap leading
and trailing whitespace on fields extracted with -x.|
|-f|| Force formail to simply pass along any non-mailbox
format (i.e. don't generate a `From ' line as the
|-r|| Generate an auto-reply header. This will normally
throw away all the existing fields (except X-Loop:)
in the original message, fields you wish to preserve
need to be named using the -i option. If you use
this option in conjunction with -k, you can prevent
the body from being `escaped' by also specifying -b.|
|-k|| When generating the auto-reply header or when
extracting fields, keep the body as well.|
|-t|| Trust the sender to have used a valid return address
in his header. This option will be most useful when
generating auto-reply headers from news articles. If
this option is not turned on, formail tends to favour
machine-generated addresses in the header.|
|-s|| The input will be split up into separate mail messages, and piped into a program one by one (a new
program is started for every part). -s has to be the
last option specified, the first argument following
it is expected to be the name of a program, any other
arguments will be passed along to it. If you omit
the program, then formail will simply concatenate the
splitted mails on stdout again. See FILENO.|
Tell formail not to wait for every program to finish before starting the next (causes splits to be processed in parallel). Maxprocs optionally specifies an upper limit on the number of concurrently running processes.
|-e|| Do not require empty lines to be preceding the header
of a new message (i.e. the messages could start on
|-d|| Tell formail that the messages it is supposed to
split need not be in strict mailbox format (i.e.
allows you to split digests/articles or non-standard
mailbox formats). This disables recognition of the
|-B|| Makes formail assume that it is splitting up a BABYL
Allows you to specify the number of consecutive headerfields formail needs to find before it decides it found the start of a new message, it defaults to 2.
|-q|| Tells formail to (still detect but) be quiet about
write errors, duplicate messages and mismatched Content-Length: fields. This option is on by default,
to make it display the messages use -q-.|
Formail will detect if the Message-ID of the current message has already been seen using an idcache file of approximately maxlen size. If not splitting, it will return success if a duplicate has been found. If splitting, it will not output duplicate messages. If used in conjunction with -r, formail will look at the mail address of the sender instead at the Message-ID.
Extract the contents of this headerfield from the header, display it as a single line.
Same as -x, but also preserves the field name.
Append a custom headerfield onto the header; but only if a similar field does not exist yet. If you specify either one of the field names Message-ID: or Resent-Message-ID: with no field contents, then formail will generate a unique message-ID for you.
Append a custom headerfield onto the header in any case.
Same as -A, except that any existing similar fields are renamed by prepending an ``Old-'' prefix. If headerfield consists only of a field-name, it will not be appended.
Same as -i, except that any existing similar fields are simply removed. If headerfield consists only of a field-name, it effectively deletes the field.
Make the first occurrence of this field unique, and thus delete all subsequent occurrences of it.
Make the last occurrence of this field unique, and thus delete all preceding occurrences of it.
|-R|| oldfield newfield|
Renames all occurrences of the fieldname oldfield into newfield.
Skip the first skip messages while splitting.|
Output at most total messages while splitting.|
formail +1 -ds >>the_mailbox_of_your_choice
formail +1 -ds procmail
formail -I Received:
formail -k -X From: -X Subject:
formail -i "Reply-To: foo@bar"
formail -ds <old_mailbox >>new_mailbox
formail -a Date: -ds <old_mailbox >>new_mailbox
formail -X ""
sed -e '/^$/ q'
formail -I ""
sed -e '1,/^$/ d'
"\n\nFrom [\t ]*[^\t\n ]+[\t ]+[^\n\t ]"
<firstname.lastname@example.org> for submitting questions/answers. <email@example.com> for subscription requests.