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 message delivery. I hope this helps! Andy ---- Cyrus Home Page: http://cyrusimap.web.cmu.edu/ Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html