Re: cyrus + postfix + lmtpd questions [massively OT]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 03/18/2010 01:41 AM, Simon Matter wrote:
I just want to get this straight. Please, someone clarify his to me.
Consider Cyrus and Postifx runing on different servers and having to
communicate with each other through lmtp.

1)
Here´s the line we all know from cyrus.conf that is gonna bring lmtp
listening on tcp:

lmtp          cmd="/usr/local/cyrus/bin/lmtpd" listen="lmtp" prefork=1
maxchild=100

Is that enough on the cyrus side ?
    
That look okay, but see below...

  
2)
posfix's main.cf :

mailbox_transport = inet:[1.2.3.4]:24
    
Looks also okay.
  

In postfix, I would suggest using local_transport instead of mailbox_transport.  The reason I make this suggestion has to do with getting the most out of the postfix processing and delivery options.  One critical change, however, is that instead of alias_maps you must use virtual_alias_maps.  Those are handled a little bit differently, so check the README files.

Here I would use:
local_transport = lmtp:inet:imap.example.com:2003     <-- or whatever port you're using
If you wish to stick with mailbox_transport, you should still use "lmtp:inet..." so postfix knows to talk LMTP and not SMTP for delivery.  From the postfix documentation:
# Specify a string of the form transport:nexthop, where transport is
# the name of a mail delivery transport defined in master.cf.  The
# :nexthop part is optional. For more details see the sample transports
# file.
You can always define a more specific transport in master.cf, and then cite that in your {mailbox|local}_transport line.  For example, we often pair postfix with amavisd-new, and don't want postfix to overrun the number of amavis processes, so we add this to master.cf:
# A special lmtp instance to feed amavisd.  Keep the maxproc field
# below the max_servers value in amavisd.conf
slmtp     unix  -       -       n       -       14       lmtp
And then have this for our content_filter line:
content_filter = slmtp:127.0.0.1:10023
I would also recommend investigating whether you would benefit from concurrency limits (in main.cf), such as:
local_destination_concurrency_limit = 300
local_destination_recipient_limit = 300
These may help prevent bottlenecks when you receive messages destined for large distribution lists.

  
3)
On some previous reply someone wrote about adding the following to
relay_domains :

example.com     lmtp:unix:public/lmtp    # for a local LMTP socket
example.com     inet:[1.2.3.4]:24        # for a remote LMTP socket

and then to extend transport_maps:

transport_maps=hash:/etc/postfix/transports,hash:/etc/postfix/relay_domains.

Cant figure out why this is necesary.
    
Well, using a simple mailbox_transport like shown in 2) is the easiest
configuration. Of course you can have very complex postfix configs for
example with complicated transport maps but you don't have to make it
complex if your environment doesn't enforce it.
  

Adding entries like this to relay_domains is necessary only if the domains in question are not in your mydestinations setting.  Having more than one entry for the same left-hand value (example.com in this case) is redundant, as the first match wins in postfix map lookups.

4)
And last but not least. How postfix authenticates in anyway so Cyrus ????
    
The question is how you want to communicate. In my case I was using a
local trusted network between postfix and cyrus server so I did the
easiest thing which is running lmtpd without authentication and configure
TCP wrapper to accept only connections from the postfix host. Like so:

In /etc/cyrus.conf I had lmtpd listening preauthenticated:

  lmtp          cmd="lmtpd -a" listen="lmtp" prefork=1

In /etc/hosts.deny on the cyrus host I had:

# Allow only specific hosts to send mail via LMTP
lmtp: ALL EXCEPT mailhub.domain.tld
  

To set the postfix credentials for lmtp, use the lmtp_sasl_* configuration settings.  Check the postfix documentation for exhaustive discourse on this:
    http://www.postfix.org/SASL_README.html#client_sasl

Note: you will be dealing with the lmtp client for postfix and the lmtpd server for cyrus.

Cheers,
    -nic
-- 
Nic Bernstein                             nic@xxxxxxxxxxx
Onlight llc.                              www.onlight.com
219 N. Milwaukee St., Suite 2a		  v. 414.272.4477
Milwaukee, Wisconsin  53202
----
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

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux