IMAPD

Synopsis

IMAPD [/?] [/ACCESSLEVEL number] [/DEFAULT_DOMAIN string] socket

Description

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.

Example RUN file

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

Command-specific options

/DEFAULT_DOMAIN
Specify the default domain to use if a client does not specify a domain in the username when logging in.

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