imapd — Cyrus IMAP 3.12.2 documentation

# imapd

IMAP server process

## Synopsis

    imapd [ -C config-file ] [ -U uses ] [ -T timeout ] [ -D ]
        [ -H ] [ -s ] [ -N ] [ -p ssf ]

## Description

imapd is an IMAP4rev1 server. It accepts commands on its standard input and responds on its standard output. It MUST be invoked by master(8) with those descriptors attached to a remote client connection.

imapd reads its configuration options out of the imapd.conf(5) file unless specified otherwise by -C.

If the file `msg/shutdown` is created under the directory specified in the `configdirectory` configuration option, then imapd will shut down the connection, sending the first line contained in the file to the client as the reason. New connections are denied.

If the file `msg/motd` is created under the directory specified in the `configdirectory` configuration option, then imapd will send the first line contained in the file to clients upon connect as an ALERT message which IMAP-compliant clients are required to display.

This option serves to annoy users mostly. Unfortunately clients tend to connect far more frequently than is apparent, generating a separate server ALERT for each connection. Many clients do not display these properly, if they do anything with them at all.

If the directory `log`/user exists under the directory specified in the `configdirectory` configuration option, then imapd will create protocol telemetry logs for sessions authenticating as user.

The telemetry logs will be stored in the `log`/user directory with a filename of the imapd process-id.

## Options

-C config-file

  Use the specified configuration file config-file rather than the default imapd.conf(5).

-U uses

  The maximum number of times that the process should be used for new connections before shutting down. The default is 250.

-T timeout

  The number of seconds that the process will wait for a new connection before shutting down. Note that a value of 0 (zero) will disable the timeout. The default is 60.

-D

  Run external debugger specified in debug_command.

-H

  Tell imapd to expect a HAProxy protocol header from the sender.

-s

  Serve IMAP over SSL (imaps). All data to and from imapd is encrypted using the Secure Sockets Layer.

-N

  Bypass password checking. (Not recommended unless you know what you're doing.)

-p ssf

  Tell imapd that an external layer exists. An SSF (security strength factor) of 1 means an integrity protection layer exists. Any higher SSF implies some form of privacy protection.

## Examples

imapd is commonly included in the SERVICES section of cyrus.conf(5) like so:

    SERVICES {
        imap        cmd="imapd -U 30" listen="imap" prefork=0
        imaps       cmd="imapd -s -U 30" listen="imaps" prefork=0 maxchild=100
        lmtpunix    cmd="lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=0 maxchild=20
        sieve       cmd="timsieved" listen="sieve" prefork=0
        notify      cmd="notifyd" listen="/var/run/cyrus/socket/notify" proto="udp" prefork=1
        httpd       cmd="httpd" listen=8080 prefork=1 maxchild=20
    }

## Files

/etc/imapd.conf

## See Also

imapd.conf(5), master(8)