dot-qmail(5)                                         dot-qmail(5)
NAME
       dot-qmail - control the delivery of mail messages
DESCRIPTION
       Normally  the  qmail-local  program delivers each incoming
       message to your  system  mailbox,  homedir/Mailbox,  where
       homedir is your home directory.
       It  can  instead  write  the  mail  to a different file or
       directory, forward it to another address, distribute it to
       a  mailing  list, or even execute programs, all under your
       control.
THE QMAIL FILE
       To change qmail-local's behavior, set up a .qmail file  in
       your home directory.
       .qmail  contains one or more lines.  Each line is a deliv-
       ery instruction.  qmail-local follows each instruction  in
       turn.   There are five types of delivery instructions: (1)
       comment; (2) program; (3) forward; (4) mbox; (5)  maildir.
       (1)  A comment line begins with a number sign:
                 # this is a comment
            qmail-local ignores the line.
       (2)  A program line begins with a vertical bar:
                 |preline /usr/ucb/vacation djb
            qmail-local  takes  the rest of the line as a command
            to supply to sh.  See  qmail-command(8)  for  further
            information.
       (3)  A forward line begins with an ampersand:
                 &me@new.job.com
            qmail-local  takes  the  rest  of  the line as a mail
            address; it uses qmail-queue to forward  the  message
            to  that  address.   The address must contain a fully
            qualified domain name;  it  must  not  contain  extra
            spaces, angle brackets, or comments:
                 # the following examples are WRONG
                 &me@new
                 &<me@new.job.com>
                 & me@new.job.com
                 &me@new.job.com (New Address)
            If  the  address  begins with a letter or number, you
            may leave out the ampersand:
                                                                1
dot-qmail(5)                                         dot-qmail(5)
                 me@new.job.com
            Note that qmail-local omits its new Return-Path  line
            when forwarding messages.
       (4)  An mbox line begins with a slash or dot, and does not
            end with a slash:
                 /home/djb/Mailbox.sos
            qmail-local takes the entire line as a filename.   It
            appends  the  mail message to that file, using flock-
            style file locking if possible.   qmail-local  stores
            the  mail  message  in  mbox  format, as described in
            mbox(5).
            WARNING: On many systems, anyone who can read a  file
            can flock it, and thus hold up qmail-local's delivery
            forever.  Do not deliver mail to a publicly  accessi-
            ble file!
            If  qmail-local  is  able  to  lock the file, but has
            trouble writing to it (because, for example, the disk
            is full), it will truncate the file back to its orig-
            inal length.  However, it cannot prevent mailbox cor-
            ruption if the system crashes during delivery.
       (5)  A  maildir  line begins with a slash or dot, and ends
            with a slash:
                 /home/djb/Maildir/
            qmail-local takes the entire line as the  name  of  a
            directory  in maildir format.  It reliably stores the
            incoming message in that directory.   See  maildir(5)
            for more details.
       If .qmail has the execute bit set, it must not contain any
       program lines, mbox lines, or maildir  lines.   If  qmail-
       local  sees  any  such  lines, it will stop and indicate a
       temporary failure.
       If .qmail is completely empty (0 bytes long), or does  not
       exist,  qmail-local  follows  the defaultdelivery instruc-
       tions set by your system administrator; normally  default-
       delivery  is  ./Mailbox,  so  qmail-local appends the mail
       message to Mailbox in mbox format.
       .qmail may contain extra spaces and tabs at the end  of  a
       line.  Blank lines are allowed, but not for the first line
       of .qmail.
       If .qmail is world-writable or group-writable, qmail-local
       stops and indicates a temporary failure.
                                                                2
dot-qmail(5)                                         dot-qmail(5)
SAFE QMAIL EDITING
       Incoming  messages  can arrive at any moment.  If you want
       to safely edit your .qmail file, first set the sticky  bit
       on your home directory:
            chmod +t $HOME
       qmail-local will temporarily defer delivery of any message
       to you if your home directory is sticky (or group-writable
       or  other-writable, which should never happen).  Make sure
       to
            chmod -t $HOME
       when you are done!  It's a good  idea  to  test  your  new
       .qmail file as follows:
            qmail-local -n $USER ~ $USER '' '' '' '' ./Mailbox
EXTENSION ADDRESSES
       In  the  qmail  system, you control all local addresses of
       the form  user-anything,  as  well  as  the  address  user
       itself,  where  user  is  your  account name.  Delivery to
       user-anything   is   controlled   by   the   file    home-
       dir/.qmail-anything.   (These  rules may be changed by the
       system administrator; see qmail-users(5).)
       The alias user controls all other addresses.  Delivery  to
       local  is  controlled  by  the  file homedir/.qmail-local,
       where homedir is alias's home directory.
       In the following description, qmail-local  is  handling  a
       message  addressed  to  local@domain,  where local is con-
       trolled by .qmail-ext.  Here is what it does.
       If .qmail-ext is completely empty, qmail-local follows the
       defaultdelivery  instructions  set by your system adminis-
       trator.
       If .qmail-ext doesn't exist,  qmail-local  will  try  some
       default  .qmail  files.   For  example, if ext is foo-bar,
       qmail-local will try first  .qmail-foo-bar,  then  .qmail-
       foo-default, and finally .qmail-default.  If none of these
       exist, qmail-local will bounce the  message.   (Exception:
       for  the basic user address, qmail-local treats a nonexis-
       tent .qmail the same as an empty .qmail.)
       WARNING: For security, qmail-local replaces  any  dots  in
       ext  with  colons  before checking .qmail-ext.  For conve-
       nience, qmail-local converts any uppercase letters in  ext
       to lowercase.
       When  qmail-local  forwards  a  message  as  instructed in
       .qmail-ext  (or   .qmail-default),   it   checks   whether
                                                                3
dot-qmail(5)                                         dot-qmail(5)
       .qmail-ext-owner   exists.    If   so,   it   uses  local-
       owner@domain as the envelope sender for the forwarded mes-
       sage.   Otherwise  it  retains  the envelope sender of the
       original message.  Exception: qmail-local  always  retains
       the original envelope sender if it is the empty address or
       #@[], i.e., if this is a bounce message.
       qmail-local also supports variable envelope  return  paths
       (VERPs):  if .qmail-ext-owner and .qmail-ext-owner-default
       both exist, it uses local-owner-@domain-@[] as  the  enve-
       lope  sender.  This will cause a recipient recip@reciphost
       to  see  an  envelope  sender  of  local-owner-recip=reci-
       phost@domain.
ERROR HANDLING
       If a delivery instruction fails, qmail-local stops immedi-
       ately and reports failure.  qmail-local handles forwarding
       after all other instructions, so any error in another type
       of delivery will prevent all forwarding.
       If a program returns exit code 99, qmail-local ignores all
       succeeding lines in .qmail, but it still pays attention to
       previous forward lines.
       To set up independent instructions, where a  temporary  or
       permanent  failure  in one instruction does not affect the
       others, move each instruction into a  separate  .qmail-ext
       file,  and  set  up a central .qmail file that forwards to
       all of the .qmail-exts.  Note that qmail-local can  handle
       any number of forward lines simultaneously.
SEE ALSO
       envelopes(5),  maildir(5), mbox(5), qmail-users(5), qmaillocal(8)
       ,   qmail-command(8),    qmail-queue(8),    qmaillspawn(8)
       
                                                                4
  
  
  © 1994 Man-cgi 1.15, Panagiotis Christias <christia@theseas.ntua.gr>