SMTPRCD

Synopsis

SMTPRCD [/?] [/WAITFOR string] [/IFCLEANPOST string] [/TRIGGER string] [/TIMEOUT number] [/FOREVER[+|-]] [/CONCURRENCY number] run-file

Description

SMTPRCD reads a queue of pending mail to be delivered remotely, that is produced by the SMTP Posting Office Sorting dæmon and schedules invocation(s) of the SMTP Relay Client to perform delivery. The queue directory is taken to be the working directory of the dæmon.

SMTPRCD communicates with the other servers in the SMTP message handling system via three semaphores. The SMTP Posting Office Sorting dæmon triggers SMTPRCD's semaphore whenever it has routed new mail for local delivery, and SMTPRCD in turn triggers the SMTP Cleanup dæmon's and the SMTP Posting Office Sorting dæmon's semaphores, respectively when it has delivered local mail to all target mailboxes and when it has generated a bounce message. Thus the semaphore names supplied on the command line should match the semaphore names supplied to the other dæmons.

run-file specifies the program to run as the SMTP Relay Client. It passes to it, as command-line arguments, a target domain name and the list of messages, and individual envelope recipients for those messages, to deliver to that domain.

RFC 0974 specifies that the MX list for a host is to be determined afresh at every retry attempt. In this way "stuck" mail can be re-routed by altering the MX information. SMTPRCD achieves this by dint of the fact that it is the SMTP Relay Client that performs MX lookups, and a fresh SMTP Relay Client process is started for evey delivery attempt.

Scheduling policy

Example RUN files

SMTPRCD can be managed as a service under RUNSVC, the Service Manager in the OS/2 Command Line Utilities version 2.2, A run file for such a service typically would look similar to:

  chdir %MAILQUEUEDIR%
  program %APPS%\JdeBP\IU\bin\SMTPRCD.exe
  argument SMTPRCD
  argument /WAITFOR:\SEM32\IU\SMTP\RD
  argument /TRIGGER:\SEM32\IU\SMTP\PD
  argument /IFCLEANPOST:\SEM32\IU\SMTP\CD
  argument localhost.
  argument %IMAPROOT%\Personal\

Example command-line invocation

  [c:\]smtprcd /WAITFOR:\SEM32\IU\SMTP\RD /TRIGGER:\SEM32\IU\SMTP\PD /IFCLEANPOST:\SEM32\IU\SMTP\CD

Command-specific options

/WAITFOR
Specify the semaphore to wait for.
/IFCLEANPOST
Specify the semaphore to signal whenever message cleanup is needed.
/TRIGGER
Specify the semaphore to signal whenever a bounce message has been generated.
/TIMEOUT
Specify the semaphore wait timeout.
/FOREVER
Specify that the dæmon should wait forever for the semaphore.
/CONCURRENCY
Specify the maximum concurrency level.

The Internet Utilities are © Copyright Jonathan de Boyne Pollard. "Moral" rights are asserted.