LMTPD(8)

πŸ’… LMTPD(8) β€” Cyrus IMAP edition πŸ’…

okay bestie, this is the LMTPD(8) page from the Cyrus IMAP docs, and it’s literally the LMTP server process’s main character moment. no cap. πŸ’–


🌸 NAME 🌸

lmtpd β€” Cyrus IMAP documentation’s very own LMTP server process. she delivers. πŸ’Œ


πŸ¦‹ SYNOPSIS πŸ¦‹

   lmtpd [ -C config-file ]  [ -U uses ] [ -T timeout ] [ -D ]
       [ -H ] [ -a ]

πŸ’– DESCRIPTION πŸ’–

lmtpd is an LMTP server used to deliver mail to the IMAP mailstore. 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. like, that part is not optional, bestie. 😭

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


✨ OPTIONS ✨

  • -C config-file β€” use the specified configuration file config-file rather than the default imapd.conf(5). slay, custom config. πŸŽ€
  • -U uses β€” the maximum number of times that the process should be used for new connections before shutting down. the default is 250. she has limits, and that’s iconic. πŸ’…
  • -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. debugging era fr fr. πŸ”
  • -H β€” tell lmtpd to expect a HAProxy protocol header from the sender. she’s expecting the header, bestie. 🫢
  • -a β€” preauthorize connections initiated on an internet socket, instead of requiring LMTP AUTH. this should only be used for connections coming from trusted hosts. like, fr fr, trusted hosts only β€” do not play with this one. 🚨

πŸŽ€ EXAMPLES πŸŽ€

lmtpd 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 little services lineup. ate. πŸ’–


πŸ“ FILES πŸ“

  • /etc/imapd.conf

🌈 SEE ALSO 🌈

imapd.conf(5), master(8)

go read those too, bestie β€” iykyk. πŸ¦‹


πŸ‘‘ AUTHOR πŸ‘‘

The Cyrus Team, Nic Bernstein (Onlight)


1993–2026, The Cyrus Team


mwah πŸ’‹ this gorgeous little page is from version 3.12.4, dated Sep 09, 2026 β€” catch you in the group chat! πŸŽ€βœ¨

πŸ“¦ where this page comes from