HOLD(8zm)                                                            HOLD(8zm)



NAME
       hold - zmailer deferred processing transport agent

SYNOPSIS
       hold [-V] [-c channel]

DESCRIPTION
       hold  is  a  ZMailer  transport  agent which is usually only run by the
       scheduler(8zm) program to test conditions for  reprocessing  of  previ-
       ously  deferred  message  addresses.  The hold program must be run with
       the same current directory as the scheduler,  namely  POSTOFFICE/trans-
       port.

       The program will interpret the host part of an address destined for its
       channel as a condition that must be met before the original address (in
       the  user part) can be reprocessed by the router.  The condition speci-
       fication contains a general condition class name followed by colon fol-
       lowed by a parameter string.  The currently supported condition classes
       are:

       ns     succeeds when the nameserver lookup indicated by  the  parameter
              does not produce a temporary nameserver error.  The parameter is
              a domain name followed by a slash followed by a standard  Inter-
              net nameserver Resource Record type name.

       timeout
              succeeds  when  the  time given by the parameter (in normal sec-
              onds-since-epoch format) has passed.

       age    succeeds when message spool file is at least of given age.   The
              interval can be given in complex '1d5h7m3s' -format.

       io     succeeds  10% of the time, to allow retry of temporary I/O fail-
              ures.

       script runs the named shell script with the  optional  given  argument.
              The parameter is a simple name, the shell script name within the
              MAILBIN/bin directory, optionally followed by a  slash  followed
              by an argument to be passed to the shell script.

       home   This  tries  to  locate  home-directory for named user, and then
              tries to stat() the directory, until it succeeds.

       For example:

              NS:nic.ddn.mil/cname
              TIMEOUT:649901432
              AGE:2h
              IO:error
              SCRIPT:homedir/joe
              HOME:joe

       The condition class name is case-insensitive but is capitalized by con-
       vention.  The parameter strings are case-preserved for condition class-
       specific interpretation.  Whitespace is not permitted.

       The envelope of the resubmitted message is created from the sender  and
       (no  longer  deferred)  recipient  addresses,  and  a  "via suspension"
       header.

OPTIONS
       Options are:

       -c channel
              specifies which channel name should be keyed on.  The default is
              hold.

       -V     prints a version message and exits.

INTERFACE
       This  program  reads  in processable file names relative to the current
       working directory of the scheduler  (namely:  $POSTIOFFICE/transport/).
       Optionally  on the same line the scheduler may tell which host is to be
       looked for from the recipients of the message.

              relative-spool-path [ <TAB> hostname ]

       This program produces diagnostic output on the standard output.  Normal
       diagnostic output is of the form:

              id/offset/status message

       where id is the inode number of the message file, offset is a byte off-
       set within its control file where the  address  being  reported  on  is
       kept,  status  is  one  of  ok,  error, or deferred, and the message is
       descriptive text associated with the report.  The text is terminated by
       a linefeed.  Any other format (as might be produced by subprocesses) is
       passed to standard output for logging in the scheduler log.

       The exit status is a code from <sysexits.h>.


ENVIRONMENT VARIABLES
       ZCONFIG
              This environment variable is expected to be inherited  from  the
              scheduler(8zm),  and  it  tells  where scheduler's idea of ZENV-
              variables are located at.

Z-ENVIRONMENT VARIABLES
       Following ZENV-variables are used by the hold program:


       PATH, ZCONFIG, MAILBIN, MAILSHARE
              These four are passed onwards to script execution environment.


FILES
       /opt/mail/zmailer.conf   (ZCONFIG)
       /var/spool/postoffice    (POSTOFFICE)


SEE ALSO
       scheduler(8zm), zmailer.conf(5zm).

AUTHOR
       This program authored and copyright by:
          Rayan Zachariassen <no address>,
       Maintance in ZMailer environment
          Matti Aarnio <mea@nic.funet.fi>



                                  2005-Apr-27                        HOLD(8zm)