IMAPD(8)

πŸ’Œ IMAPD(8) β€” the Cyrus IMAP vibe check

okay bestie, gather round, because we're about to meet imapd from the Cyrus IMAP manual, section 8 of your friendly neighborhood man pages πŸŽ€


✨ NAME ✨

imapd β€” Cyrus IMAP documentation

it's literally the IMAP server process. that's the whole job. main character energy fr πŸ’…


🌸 SYNOPSIS 🌸

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

look at her. so many little flags. she's got options and she's not afraid to use them πŸ¦‹


πŸ’– DESCRIPTION πŸ’–

imapd is an IMAP4rev1 server. she takes commands on her standard input, and she responds on her standard output. and here's the thing, bestie β€” she MUST be invoked by master(8) with those descriptors attached to a remote client connection. like, that's not a suggestion, that's the law. periodt.

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

now, storytime, because there are three special little files and they're all lowkey dramatic:

  • If the file msg/shutdown gets created under the directory specified in the configdirectory configuration option, then imapd will shut down the connection, and she'll send the first line contained in that file to the client as the reason. new connections get denied. it's giving "we're closed, go home" πŸ’€
  • 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.
  • and okay, about that motd thing: this option serves to annoy users mostly 😭 unfortunately, clients tend to connect far more frequently than is apparent, which generates a separate server ALERT for every single connection. many clients do not display these properly, if they do anything with them at all. so yeah. iconic in theory, chaotic in practice πŸ™ˆ

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 will be stored in the log/user directory, with a filename of the imapd process-id. no cap πŸ“


πŸ‘‘ OPTIONS πŸ‘‘

  • -C config-file β€” use the specified configuration file config-file instead of the default imapd.conf(5). your config, your rules πŸ’œ
  • -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. heads up: 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. πŸ”’ slay.
  • -N β€” bypass password checking. (Not recommended unless you know what you're doing.) okay bestie I'm gonna need you to read that twice 🚨
  • -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
}

copy that vibes-wise if you want, it's a whole squad working together 🫢


πŸŽ€ FILES πŸŽ€

  • /etc/imapd.conf

πŸ¦‹ SEE ALSO πŸ¦‹

iykyk πŸ‘‘


⭐ AUTHOR ⭐

The Cyrus Team, Nic Bernstein (Onlight) β€” legends, honestly.


1993–2026, The Cyrus Team


okay that's the whole page bestie, every single flag and file accounted for, nothing skipped, we ate and left no crumbs πŸ“

and now the cute sign-off: this was Cyrus IMAP version 3.12.3, dated Jul 15, 2026 β€” go forth, encrypt your sockets, and never ever run -N unless you truly know what you're doing πŸ’…βœ¨

πŸ“¦ where this page comes from