PROXYD(8)

πŸ“¦
version 3.12.3 Β· 4 versions
, in ubuntu stonking

✨ PROXYD(8) β€” bestie edition ✨

okay so you're reading the proxyd page from the Cyrus IMAP docs, and I am so glad you're here. quick vibe check first: proxyd is literally just a symlink to imapd(8) if you built with murder enabled. that's it. that's the whole personality. πŸ’…


🌸 NAME 🌸

proxyd β€” Cyrus IMAP documentation.

Proxyd is a symlink to imapd(8) if you build with murder enabled. no cap, that's the entire description.


πŸŽ€ SYNOPSIS πŸŽ€

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

πŸ¦‹ DESCRIPTION πŸ¦‹

okay so imapd is an IMAP4rev1 server. it takes commands on its standard input and answers on its standard output. and listen β€” it MUST be invoked by master(8) with those descriptors attached to a remote client connection. like, that's not optional, bestie, that's a capital-M MUST. 🫢

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

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 are denied too. so yeah, that file is a whole mood. πŸ’€

if the file msg/motd gets created under the directory specified in the configdirectory configuration option, then imapd sends the first line contained in the file to clients upon connect, as an ALERT message that IMAP-compliant clients are required to display. πŸ‘‘

lowkey this option serves to annoy users, mostly. 😭 unfortunately, clients tend to connect far more frequently than is apparent, so you get a separate server ALERT for every single connection. and many clients don't even display these properly, if they do anything with them at all. it's giving chaos.

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 equal to the imapd process-id. slay.


πŸ’– 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 max number of times the process should be used for new connections before shutting down. the default is 250. know your limits, queen.
  • -T timeout β€” the number of seconds 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. detective mode activated πŸ”
  • -H β€” tell imapd to expect a HAProxy protocol header from the sender. header incoming bestie πŸ“¬
  • -s β€” serve IMAP over SSL (imaps). all data to and from imapd is encrypted using the Secure Sockets Layer. locked down and gorgeous πŸ”’
  • -N β€” bypass password checking. > okay so: this is Not recommended unless you truly know what you're doing. i'm serious, bestie. πŸ™ˆ
  • -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. fr fr.

🌈 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. it's iconic. it ate. πŸ’…


πŸ“ FILES πŸ“

  • /etc/imapd.conf

🧚 SEE ALSO 🧚

iykyk β€” go read those next, they're the main character energy of this whole setup. πŸ‘‘


πŸ’œ AUTHOR πŸ’œ

The Cyrus Team. love that for them.


1993–2026, The Cyrus Team


and that's the whole page, bestie!! πŸŽ€ this was version 3.12.3, dated Jul 15, 2026, straight from the PROXYD(8) manual β€” periodt. go forth and proxy responsibly. πŸ¦‹βœ¨

πŸ“¦ where this page comes from