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

FreeBSD Manual Pages

  
 
  

home | help
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)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | AUTOREPLIES | BUGS | SEE ALSO | AUTHOR | NOTES

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

home | help