Provided by: mailavenger_0.8.5-1_amd64 bug


       mailexec - run program on messages in mbox file or maildir


       mailexec [-nvFR] mailbox program [arg ...]


       mailexec runs a program over every message in mailbox, which must be an mbox-format mail
       file or maildir directory.  For each message encountered, mailexec executes program with
       the specified arguments, supplying the message as standard input.  mailexec synthesizes a
       "From " line and a "Return-Path:" header field for each message if the message does not
       already contain one.  (This behavior can be modified by the -F and -R flags, described

       When parsing mbox format files, mailexec unescapes "From " lines.  If a line begins with
       one or more ">" characters followed by "From ", mailexec deletes one of the ">"
       characters.  If you do not want this unescaping behavior, see the formail(1) utility,
       which has a -s flag that performs a similar function to mailexec.

       -n  When processing a maildir, causes mailexec to look exclusively at "new" messages that
           have not yet been moved to the cur directory.

       -v  Turns on verbose mode.  If mailbox is a maildir, mailexec prints out the name of each
           file it processes inside the maildir.  If mailbox is an mbox format file, mailexec
           prints the message-id of each message it processes (as long as messages have a
           message-id header).

       -F  Suppresses printing of the initial "From " line at the beginning of each message.

       -R  Suppresses printing of initial "Return-Path:" lines.


       To get the same behavior as the Unix from(1) command on a mail directory dir, you can run
       either of the following two commands:

               mailexec -n dir head -1
               mailexec -n dir sed -ne 1p

       To convert an mbox-format file mbox into a maildir directory dir, you can run:

               mailexec mbox deliver dir/

       Conversely, to convert maildir dir into an mbox-format file mbox, run:

               mailexec dir deliver mbox

       To train the spamassassin filter on a mail folder called spam containing unwanted
       messages, run:

               mailexec spam sa-learn --spam

       Note that this works whether spam is an mbox format file or a maildir directory.

       If you have an old mbox file or maildir directory box and wish to "import" the old mail
       into your web mail account, say, you can run:

               mailexec -F box sendmail

       Note again that this works whether box is an mbox format file or a maildir directory.


       avenger(1), deliver(1), dotlock(1), avenger.local(8)

       The Mail Avenger home page: <>.


       When reading from a maildir and synthesizing a "From " line, mailexec guesses the delivery
       date of the message based on the name of the file, which works in practice but could be
       considered dangerous since file names in maildirs are supposed to be opaque.  Thus, while
       generally mailexec places sensible dates in "From " lines and processes maildir messages
       in order of delivery, it might be unwise to rely on this behavior.

       mailexec generates the time for the "From " line in the local time zone, as is customary
       on Unix.  This could lead to loss of information when transferring mailboxes across time
       zones or combining mailboxes created in different timezones.  Moreover, this practice is
       incompatible with qmail, which uses GMT in the "From " line.

       mailexec expects that if there is a "Return-Path:" header field, it will be the first
       header field in the message (possibly after the initial "From " line, which is not itself
       a header field).

       There are many different variants of the mbox message format.  mailexec expects the
       "mboxrd" variant, in which each message is delimited by a "From " line at the beginning
       and a blank line at the end, and every line beginning with either "From " or one or more
       ">" characters followed by "From " is escaped by adding another ">" character.  In
       particular, this means mailexec will incorrectly parse System V "mboxcl2" files, which use
       "Content-Length:" header fields to determine message boundaries rather than "From " lines.

       mailexec attempts to lock mbox format files, but will execute anyway even if it cannot
       obtain the lock.  This allows it to work on read-only files, but if you are highly unlucky
       could result in the last message being truncated.

       There is no locking for maildir files.  If a maildir is modified while mailexec is running
       over it, mailexec could miss messages.  If you are concurrently manipulating the maildir
       with a mail reader, maildir could even miss old messages that just happen to have been
       moved from the new to the cur directory.  mailexec will issue a warning if it fails to
       open a file that it had previously seen when scanning the directory.


       David Mazieres