SMTPSD performs an SMTP Submission or a Null SMTP conversation over its input and output. If no socket is specified as an argument, SMTPSD uses its standard input and standard output for input and output. Otherwise, it uses the named socket, which it closes when it has finished with it. The IP address and TCP port number on which SMTP Submission service is thus provided is determined by its parent process, not by SMTPSD itself. Conventionally, the port number is 587 and the IP address is one that is not reachable by Internet at large.
SMTPSD is designed to be spawned on demand by TCPSRUN. It can also be spawned by INETD, although the control of client access levels based upon the client's IP address, which TCPSRUN does, will be unavailable as a consequence.
SMTPRD adds received messages to the maildrop directory. The maildrop is taken to be the working directory of the dæmon.
A "TCPService.RUN" run file, for SMTPSD to be spawned by TCPSRUN, would typically look similar to:
chdir %MAILQUEUEDIR% program %APPS%\JdeBP\IU\Bin\SMTPSD.exe argument SMTPSD argument %3
TCPSRUN itself would be invoked under RUNSVC, the Service Manager in the OS/2 Command Line Utilities version 2.2, with a run file similar to:
program %APPS%\JdeBP\IU\bin\TCPSRun.exe chdir %_BOOT%:\Config\Services\%1 argument TCPSRun argument 127.0.0.1 argument submission argument TCPService.RUN