Specify Delays and Processing for E-Mail Retries

$email_retry_delays class "retry_list"

This command is used to specify the number of retries of unsuccessful email transmissions, and the intervals between attempts.

Important note: this command affects all e-mail outbound operations done with this user profile, including broadcasts and server operations.

For special applications this command may also be placed in an individual FS file as an override to that in the user profile.

When processing the outcome of an e-mail attempt, if there are any $email_retry_delays commands in the hierarchy CFG - USR/UJP - FS, then $retry_delays commands are ignored for all outcome classes.  Otherwise, $retry_delays commands are used for all outcome classes. The $retry_delays commands are also used for transmissions where there are both fax and e-mail destinations in the same FS file (for example, broadcasts of type FEB2).

Each command provides the specification for one class of "outcome" of the preceding attempt. The "outcome" is the call placement or fax transmission status. The outcome class is looked up in the default retry parameters or those in the file specified using the $retry_parms command. The outcome class is identified using a letter from A to H. You may change the meanings of these letters for special applications by modifying the retry parameters file, but the supplied files define the following outcome classes:

ATimeout
BMailbox error
CConnection failure
DDomain name error
ESystem error
FUnspecified SMTP Error
GUser defined
HHost rejected command
J User defined
K User defined
L User defined
M User defined
N User defined
O User defined

The parameters on this command are used as follows:

class Outcome class letter for this class. Only one command may be specified for each class. The next entry in the retry_list for this class is used each time a call attempt results in an outcome of this class, until the retry list is exhausted, at which time the call is treated as failed.
retry_list List of delay periods or times, one for each retry. An empty list (or no $email_retry_delays command for a class) implies that any attempt which has an outcome of this class will not be retried at all (i.e. it will be treated as a failed call). The default unit for each list entry is minutes, but a suffix of H or S can be used to specify hours or seconds respectively.
 
Each entry may have prefix characters, as described for $retry_delays.

If the delay is entered as a time (hh:mm format), then the retry will be deferred until the next occasion on which that time comes around on the clock (i.e. later the same day or earlier the next day). If this absolute time has a suffix of N or W then the calculated time will be moved forward if necessary to the next non-working or working day respectively. Standard and special non-working days are set using the COPIAFACTS program. Once a fixed-time delay has been actioned, any later fixed-time delay in the sequence of retries will be replaced by a three-minute delay.

An ellipsis ('...'), separated by white space from the previous entry in the retry-list, causes the preceding retry delay specification to be repeated without limit. If there is no preceding retry delay specification in the list the ellipsis is treated as ending the list and the call fails. If the preceding delay specification specifies a time of less than one minute it is automatically increased to one minute.

Separate attempt counters are maintained for each class, so that for example a no-dial-tone outcome in the middle of a sequence of busy outcomes will only affect the next retry; a subsequent busy will revert to being processed following the specifications in the retry-list for the busy class. The attempt counters for a transmission are maintained using the $attempt_record commands added to the FS file on each attempt.

Default: As specified by the $email_retry_delays configuration commands, or by the $retry_delays commands if none of the $email_retry_delays commands are present. The commands in an owner UJP are also overridden by those in the SYSTEM.UJP file.

Examples:

Retry timeout' three times at intervals of five minutes:

$email_retry_delays A "5 5 5"

Retry 'connection failure' once after waiting three minutes, then if still busy wait until 9 a.m on the next working day and retry again up to three times at three-minute intervals:

$email_retry_delays C "3 09:00W 3 3"

There are additional examples in the topic for Configuring Retry Settings.