LMTPD(8)
π LMTPD(8) β Cyrus IMAP, bestie edition
okay so this is the lmtpd page from the Cyrus IMAP docs, section 8 (that's the "admin commands" section, iykyk). It's the LMTP server process. Sit down, grab a strawberry β¨, we're gonna get you fully caught up. π
β¨ NAME β¨
lmtpd β Cyrus IMAP documentation, and also: the LMTP server process. That's the whole vibe. π
πΈ SYNOPSIS πΈ
lmtpd [ -C config-file ] [ -U uses ] [ -T timeout ] [ -D ]
[ -H ] [ -a ]
π¦ DESCRIPTION π¦
so lmtpd is an LMTP server and its whole job β its main character moment β is delivering mail into the IMAP mailstore. π
It reads commands on its standard input and it replies on its standard output. That's the whole conversation.
β οΈ okay real talk for a sec: it MUST be invoked by master(8), with those descriptors attached to a remote client connection. Not optional. Not a suggestion. MUST. That's the rule, periodt. π
And like every good little daemon, lmtpd reads its configuration options out of the imapd.conf(5) file β unless you tell it otherwise with -C. π
π OPTIONS π
-Cconfig-file β use the config file config-file you specify instead of the defaultimapd.conf(5). Not like other girls (files). β¨-Uuses β the max number of times this process should be reused for new connections before it shuts down. Default is250. She has a limit, and honestly? valid. π«Ά-Ttimeout β how many seconds the process will wait for a new connection before shutting down. Lowkey important: a value of0(zero) disables the timeout entirely. Default is60.-Dβ run the external debugger specified indebug_command. π-Hβ tellslmtpdto expect a HAProxy protocol header from the sender. β¨-aβ preauthorize connections initiated on an internet socket instead of requiring LMTP AUTH.
π¨ bestie, listen: this should only be used for connections coming from trusted hosts. That's not me being dramatic, that's the manpage. Do not be reckless with this one. π
π EXAMPLES π
sooooo 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
}
ate that whole config block, no crumbs. π₯
π FILES π
/etc/imapd.conf
π SEE ALSO π
go read those next, bestie, they're the lore. π§
β AUTHOR β
The Cyrus Team, Nic Bernstein (Onlight). iconic. π
πΈ COPYRIGHT πΈ
1993β2026, The Cyrus Team
π and that's the whole page!! this was version 3.12.3, dated Jul 15, 2026, from the Cyrus IMAP manual. slay, go deliver some mail, ily π«Άβ¨
π¦ where this page comes from
- ubuntu stonking: cyrus-common 3.12.3-3build1 Β· CMU
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms