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)