[Kolab-devel] if i want kolab to do lmtp delivery to a different host

Steffen Hansen steffen at klaralvdalens-datakonsult.se
Fri May 27 11:56:03 CEST 2005


On Friday 27 May 2005 00:24, Fabio Pietrosanti wrote:
> Does i have to modify this script?
>
> /kolab/var/kolab/php/kolabfilter/kolabmailtransport.php
>
> i see line like:
>   function KolabMailTransport( $host = '127.0.0.1', $port = 2003 ) {
>   function KolabLMTP( $host = '127.0.0.1', $port = 2003 ) {
>   function KolabSMTP( $host = '127.0.0.1', $port = 25 ) {
>
> What's about setting the $host variable in kolab.globals to allow the
> decision of which LMTP server should be used to the sysadmin?

Would be nice. You could add a cyrus-hostname attribute to the k=kolab 
object in the LDAP schema.

> In this way we could have a separated cyrus lmtp server(even behind a
> cyrus murder).
> I think however that there are others configurations that need to be
> modified to "split" the backend.
>
> Correct me if i'm wrong.
>
> There are some uml diagrams to show the flow of email inside kolab?
>
> I'm now seeing that:
>
> client->postfix(smtpd:25) -> content-filter(smtp-amavis:10024) ->
> postfix(smtpd:10025->content-filter:/kolab/etc/resmgr/kolabfilter.php
>) -> // Now the message is entered inside kolab filtering engine
> kolabfilter.php that with the line of code "$smtp = new KolabSMTP(
> 'localhost', 10026 );" send back to postfix smtpd //
> postfix(smtpd:10026)
> // Now postfix can process the email sending it to transport
> specified in main.cf "mailbox_transport = kolabmailboxfilter" //
> -> /kolab/etc/resmgr/kolabmailboxfilter.php
> // Now the second filter do it's own processing and at the end
> deliver the email with the line of code "$lmtp = new KolabLMTP();" //
> // KolabLMTP is defined in
> /kolab/var/kolab/php/kolabfilter/kolabmailtransport.php as "function
> KolabLMTP( $host = '127.0.0.1', $port = 2003 )" //
> // On the port 2003 is running the Cyrus LMTPD as specified in
> /kolab/etc/imapd/cyrus.conf "cmd="lmtpd -a" listen="127.0.0.1:2003""
> // -> cyrus(lmtpd:2003)-> bdb cyrus mailbox storage
>
> Resuming the process of email delivery:
> client->postfix(smtpd:25) -> content-filter(smtp-amavis:10024) ->
> postfix(smtpd:10025->content-filter:/kolab/etc/resmgr/kolabfilter.php
>) ->
> postfix(smtpd:10026->mailbox_transport:/kolab/etc/resmgr/kolabmailbox
>filter.php)-> cyrus(lmtpd:2003)-> bdb cyrus mailbox storage
>
> Is this process right?

Yes, looks correct to me.

regards
-- 
Steffen Hansen          |       Klarälvdalens Datakonsult AB
Senior Software Engineer|       http://www.klaralvdalens-datakonsult.se
                        |
                        |       Platform-independent
                        |       software solutions




More information about the devel mailing list