IMAPD
[/?]
[/ACCESSLEVEL number]
[/DEFAULT_DOMAIN string]
socket
IMAPD provides IMAP service. If no socket is specified as an argument, it 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 IMAP service is thus provided is determined by its parent process, not IMAPD itself. Conventionally, the port number is 23 and the IP address is one that is reachable by Internet at large.
IMAPD 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.
Where client access is denied, IMAPD simply exits immediately, closing the socket. With any other access level, normal IMAP service is provided.
The directory tree where the IMAP folders are stored is the current
directory of the server. IMAPD expects folders to be stored
in the standard directory format.
For shared folders, it looks under under a Shared/
top-level directory for the mail directory.
For personal folders, it uses the same mail directory names that are
used by
the SMTP Local Delivery dæmon,
under a Personal/ top-level directory.
For the personal folder folder for user
<user@domain>,
IMAPD will use
Personal/domain/user/folder
as the name of the mail directory. Folder (and user and domain) names
are (lightly) encoded so that they do not include directory name
characters that are illegal, with the folder hierarchy visible via IMAP
being represented as a flat directory of files.
IMAPD stores the folder subscriptions for
<user@domain>
in the file
Personal/domain/user/.subscriptions.
Note: This version of IMAPD does not implement the "UID" or "SEARCH" verbs of IMAP.
IMAPD writes log information to its standard error, recording activity.
A "TCPService.RUN" run file, for IMAPD to be spawned by TCPSRUN, would typically look similar to:
chdir %IMAPROOT% program %APPS%\JdeBP\IU\Bin\IMAPD.exe argument IMAPD 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 0.0.0.0 argument imap argument TCPService.RUN
/DEFAULT_DOMAIN