cyrus + postfix + lmtpd questions
morgan at orst.edu
Sun Mar 14 04:25:28 EDT 2010
On Sun, 14 Mar 2010, Diego V wrote:
> Id really appreciate if someone could explain a couple of things im
> confused about.
> As far as I can see lmtpd is in cyrus.conf, its spawned by cyrus master
> and is part of cyrus. But, what is it for ?
> For example, if cyrus is set as the local delivery agent on Postfix
> main.cf, does cyrus use its lmtpd anyway ? Does not cyrus have its own
> delivery agent ? why the need to use lmtpd ?
> In short, Im confused about the differences between Postfix lmtp and
> Cyrus lmtpd and how they interact.
In reality, Cyrus only accepts mail into its message store via the LMTP
port (unix socket or tcp socket). The program "cyrdeliver", which is
commonly used by Sendmail's delivery rules, is really just a wrapper
program which talks LMTP to Cyrus. It is more efficient, by avoiding
spawning a new cyrdeliver process for each delivered message, to configure
your MTA to deliver mail to Cyrus' LMTP socket.
You probably see something like this in cyrus.conf:
# at least one LMTP is required for delivery
lmtp cmd="/usr/local/cyrus/bin/lmtpd" listen="lmtp" prefork=1 maxchild=100
lmtpunix cmd="/usr/local/cyrus/bin/lmtpd" listen="/var/run/cyrus/socket/lmtp" prefork=1
This provides an lmtpd listening on a local unix socket and an lmtpd
listening on the lmtp tcp socket. You can also specify that lmtpd listen
on a tcp socket on localhost only.
Depending on your mail architecture, you may be running an MTA (Postfix,
Sendmail, etc) on 1 or more remote hosts to spread the load and provide
redundancy. That's how we do it at OSU. Those MTAs then make LMTP
connections to the Cyrus server(s) to deliver mail to the message store.
By the way, lmtpd is also responsible for Sieve mail filter processing on
I hope this helps!
More information about the Info-cyrus