<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=ISO-8859-1"
 http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
On 03/18/2010 01:41 AM, Simon Matter wrote:
<blockquote
 cite="mid:66d841658d59bb5fd756143b7f16e1d8.squirrel@webmail.bi.corp.invoca.ch"
 type="cite">
  <blockquote type="cite">
    <pre wrap="">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&acute;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 ?
    </pre>
  </blockquote>
  <pre wrap="">
That look okay, but see below...

  </pre>
  <blockquote type="cite">
    <pre wrap="">
2)
posfix's main.cf :

mailbox_transport = inet:[1.2.3.4]:24
    </pre>
  </blockquote>
  <pre wrap="">
Looks also okay.
  </pre>
</blockquote>
<br>
In postfix, I would suggest using local_transport instead of
mailbox_transport.&nbsp; The reason I make
this suggestion has to do with getting the most out of the postfix
processing and delivery options.&nbsp; One critical change, however, is that
instead of alias_maps you must use virtual_alias_maps.&nbsp; Those are
handled a little bit differently, so check the README files.<br>
<br>
Here I would use:<br>
<blockquote>local_transport = lmtp:inet:imap.example.com:2003&nbsp;&nbsp; &nbsp;
&lt;-- or whatever port you're using<br>
</blockquote>
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.&nbsp; From the postfix documentation:<br>
<blockquote># Specify a string of the form transport:nexthop, where
transport is<br>
# the name of a mail delivery transport defined in master.cf.&nbsp; The<br>
# :nexthop part is optional. For more details see the sample transports<br>
# file.<br>
</blockquote>
You can always define a more specific transport in master.cf, and then
cite that in your {mailbox|local}_transport line.&nbsp; 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:<br>
<blockquote># A special lmtp instance to feed amavisd.&nbsp; Keep the
maxproc field<br>
# below the max_servers value in amavisd.conf<br>
slmtp&nbsp;&nbsp;&nbsp;&nbsp; unix&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; n&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 14&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lmtp<br>
</blockquote>
And then have this for our content_filter line:<br>
<blockquote>content_filter = slmtp:127.0.0.1:10023<br>
</blockquote>
I would also recommend investigating whether you would benefit from
concurrency limits (in main.cf), such as:<br>
<blockquote>local_destination_concurrency_limit = 300<br>
local_destination_recipient_limit = 300<br>
</blockquote>
These may help prevent bottlenecks when you receive messages destined
for large distribution lists.<br>
<br>
<blockquote
 cite="mid:66d841658d59bb5fd756143b7f16e1d8.squirrel@webmail.bi.corp.invoca.ch"
 type="cite">
  <pre wrap="">
  </pre>
  <blockquote type="cite">
    <pre wrap="">
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.
    </pre>
  </blockquote>
  <pre wrap="">
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.
  </pre>
</blockquote>
<br>
Adding entries like this to relay_domains is necessary only if the
domains in question are not in your mydestinations setting.&nbsp; 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.<br>
<br>
<blockquote
 cite="mid:66d841658d59bb5fd756143b7f16e1d8.squirrel@webmail.bi.corp.invoca.ch"
 type="cite">
  <blockquote type="cite">
    <pre wrap="">
4)
And last but not least. How postfix authenticates in anyway so Cyrus ????
    </pre>
  </blockquote>
  <pre wrap="">
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
  </pre>
</blockquote>
<br>
To set the postfix credentials for lmtp, use the lmtp_sasl_*
configuration settings.&nbsp; Check the postfix documentation for exhaustive
discourse on this:<br>
&nbsp;&nbsp;&nbsp; <a class="moz-txt-link-freetext" href="http://www.postfix.org/SASL_README.html#client_sasl">http://www.postfix.org/SASL_README.html#client_sasl</a><br>
<br>
Note: you will be dealing with the lmtp client for postfix and the
lmtpd server for cyrus.<br>
<br>
Cheers,<br>
&nbsp;&nbsp;&nbsp; -nic<br>
<pre class="moz-signature" cols="72">-- 
Nic Bernstein                             <a class="moz-txt-link-abbreviated" href="mailto:nic@onlight.com">nic@onlight.com</a>
Onlight llc.                              <a class="moz-txt-link-abbreviated" href="http://www.onlight.com">www.onlight.com</a>
219 N. Milwaukee St., Suite 2a                  v. 414.272.4477
Milwaukee, Wisconsin  53202
</pre>
</body>
</html>