IMAPD(8)

πŸ’– IMAPD(8) πŸ’–

ok so bestie, welcome to the imapd page from the Cyrus IMAP docs β€” this is the whole vibe, section by section, no skips, no cuts, we're doing the full tour 🫢


✨ NAME ✨

imapd β€” Cyrus IMAP documentation

it's the IMAP server process, bestie. that's the whole job. πŸ‘‘


🌸 SYNOPSIS 🌸

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

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so imapd is an IMAP4rev1 server. like, a whole server. it takes commands on its standard input and it responds on its standard output. and here's the thing β€” it MUST be invoked by master(8), with those descriptors attached to a remote client connection. no freelancing, no solo runs. master(8) is the one setting you up fr fr πŸ’…

imapd reads its configuration options out of the imapd.conf(5) file, unless you say otherwise with -C. periodt.

so listen: if the file msg/shutdown gets created under the directory specified in the configdirectory configuration option, then imapd will shut down the connection, and it sends the first line contained in that file to the client as the reason. new connections get denied. not me being dramatic, that's literally just what it does πŸ’€

and if the file msg/motd gets 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. required. mandatory. the client has no choice bestie 😭

this option serves to annoy users mostly. no like, that's what the page says. unfortunately clients tend to connect far more frequently than is apparent, which generates a separate server ALERT for each connection. many clients do not display these properly β€” if they do anything with them at all. it's giving chaos for no reason πŸ™ˆ

and one more: 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.

those telemetry logs get stored in the log/user directory, with a filename of the imapd process-id. cute, organized, slay πŸŽ€


πŸ’… 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 the 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.) like bestie, please 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
}

look at that config. the way it's all lined up. main character energy fr fr πŸ”₯


πŸ“ FILES πŸ“

  • /etc/imapd.conf

⭐ SEE ALSO ⭐


πŸ’œ AUTHOR πŸ’œ

The Cyrus Team, Nic Bernstein (Onlight)


1993–2026, The Cyrus Team


and that's the whole page bestie, every last detail intact, no cap 🫢

so yeah β€” this was imapd from Cyrus IMAP, version 3.12.4, dated Sep 09, 2026, filed under IMAPD(8). go forth and serve some IMAP, icon πŸ’–βœ¨

πŸ“¦ where this page comes from