Provided by: mailavenger_0.8.5-2build1_amd64 bug

NAME

       deliver - deliver mail to a mailbox or maildir spool

SYNOPSIS

       deliver [--umask[=val]] destination1 [destination2 ...]

DESCRIPTION

       Takes a mail message on standard input, and delivers it to one or more destination mailboxes.  If a
       destination ends with a "/" character, it is interpreted as a qmail maildir format directory (which will
       be created if it doesn't already exist).  Otherwise, if the destination does not end with a "/"
       character, it is interpreted as a Unix mbox format file.

       If one of the mailboxes is specified as -, deliver will send a copy of the message to its standard output
       after generating the appropriate "From " and "Return-Path:" lines, if necessary.  This is useful when
       piping messages to programs from avenger.local(8) scripts, as avenger.local does not generate any "From "
       or "Return-Path: " lines, while deliver will generate these based on the SENDER environment variable.

   OPTIONS
       --copy
           If  deliver  cannot  seek  on  its standard input, it will first copy the message to a temporary file
           before attempting any deliveries.  Usually this only occurs when deliver is being fed the  output  of
           another program through a pipe.  The --copy option forces copying regardless of whether deliver could
           rewind the file pointer.

       --fcntl (-P)
           This  option  enables  fcntl  (a.k.a.  POSIX)  file  locking of mail spools, in addition to flock and
           dotfile locking.  The advantage of fcntl locking is  that  it  may  do  the  right  thing  over  NFS.
           However,  if  either the NFS client or server does not properly support fcntl locking, or if the file
           system is not mounted with the appropriate options, fcntl locking can fail in one  of  several  ways.
           It  can  allow  different processes to lock the same file concurrently--even on the same machine.  It
           can simply hang when trying to acquire a lock, even if no other process holds a  lock  on  the  file.
           Also,  on  some  OSes it can interact badly with flock locking, because those OSes actually implement
           flock in terms of fcntl.

       --norewind
           By default, if deliver can rewind its standard input, it will do so before reading the message.  This
           lets scripts more easily run several commands over their standard input when that input  is  a  file.
           For example, a shell script might do the following:

                    if test YES = "`formail -cxz X-Spam-Status:`"; then
                        deliver $HOME/Mail/spam/
                    else
                        deliver $HOME/Mail/ham/
                    fi

           The --norewind inhibits that behavior, so that the above script would likely give unintended results.
           --norewind is useful for testing scripts that aren't supposed to assume they are getting input from a
           file.

       --umask
       --umask=val
           By  default,  deliver  creates all files and directories with a umask value of 077--meaning files are
           not readable or writable by others.  The --umask option tells deliver to keep whatever umask  it  was
           invoked  with.  The --umask=val option tells deliver to use a umask of val.  Note that to specify val
           in octal, you must prefix it with a  0,  so  the  default  is  equivalent  to  --umask=077,  but  not
           --umask=77.

ENVIRONMENT

       The following environment variable affects deliver's operation.

       SENDER
           Specifies  the  envelope  sender  (bounce address) of the message.  For maildir format mailboxes, the
           sender will be included in a "Return-Path:"  header.   For  mbox  format  mailboxes,  the  sender  is
           reflected in the first line, which will contain "From SENDER ...".  If SENDER is unspecified, deliver
           will  attempt  to  extract  it  from  the  first  line of the message, if that line begins "From " or
           "Return-Path:".  Otherwise, the sender will probably be incorrectly set.

EXAMPLES

       Using avenger.local, to set up an address as a spam trap that reports any messages it receives  as  spam,
       you might place the following in the appropriate .avenger/local file:

           | deliver - | spamassassin -r

       If you want to reject spam messages during SMTP transactions using spamassassin, but still want to keep a
       copy of the spams in $HOME/Mail/spam-log to keep an eye on how spamassassin is doing, you might place the
       line "bodytest $HOME/.avenger/spam-check", and write the spam-check shell script as follows:

           #!/bin/sh
           edinplace -x 111 spamassassin -e 100
           case "$?" in
               0)
                   ;;
               100)
                   echo Sorry, spamassassin has flagged this message as spam
                   deliver $HOME/Mail/spam-log
                   exit 100
                   ;;
               111)
                   echo Sorry, spamassassin has encountered a temporary error
                   exit 111
                   ;;
               *)
                   echo Sorry, spamassassin exited witn an unknown status
                   exit 111
                   ;;
           esac

       Note  here  that  the  bodytest  script  does  not  need  to  pipe the message through "deliver -" before
       spamassassin, because bodytest's standard input does contain  "From  "  and  "Return-Path:"  lines,  even
       though avenger.local command input does not.

SEE ALSO

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

       The Mail Avenger home page: <http://www.mailavenger.org/>.

BUGS

       When  delivering  to  multiple destinations, if one of them fails, deliver will halt with a non-zero exit
       status.  However, it is not possible to know which destination caused the delivery failure.

       To protect against concurrent accesses to mbox format files, deliver uses both flock and dotfiles to lock
       mailboxes.  However, it does not use fcntl/lockf-style locking by default.  Thus,  if  your  mail  reader
       exclusively uses fcntl for locking, there will be race conditions unless you specify the --fcntl option.

AUTHOR

       David Mazieres

Mail Avenger 0.8.5                                 2018-10-09                                         deliver(1)