virtual domain mailbox cross contamination

Adam D emlists at gmail.com
Mon Aug 13 20:19:55 EDT 2007


Andrew Morgan wrote:
> On Mon, 13 Aug 2007, Adam D wrote:
>
>> Sorry in my haste and excitement I totally forgot to include the log
>> output when it worked.
>>
>>
>> Working settings
>>
>>    main.cf:
>>    virtual_transport = cyrus:unix:/var/run/cyrus/socket/lmtp
>>    mailbox_transport = cyrus:unix:/var/run/cyrus/socket/lmtp
>>
>>    master.cf:
>>    lmtp      unix  -       -       n       -       -       lmtp
>>    cyrus     unix  -       n      n       -       -       lmtp
>>
>>
>>    log output:
>> postfix/lmtp[13234]: A09EB3142: to=<user at domain2.tld>,
>> relay=host.domain2.tld[/var/run/cyrus/socket/lmtp], delay=1047,
>> delays=1047/0/0/0.02, dsn=2.1.5, status=sent (250 2.1.5 Ok)
>>
>>
>> I have noticed in another setting using
>> main.cf
>> virtual_transport = cyrus
>> mailbox_transport = cyrus
>>
>> master.cf
>> cyrus     unix  -       n       n       -       -       pipe
>>  flags=R user=cyrus argv=/usr/sbin/cyrdeliver -e -r${sender} -m
>> ${extension} ${user}
>>
>> log output
>> postfix/pipe[13248]: E56476E010: to=<user at domain1.tld>,
>> orig_to=<user1 at host.domain1.tld>, relay=cyrus, delay=0.6,
>> delays=0.3/0.25/0/0.05, dsn=2.0.0, status=sent (delivered via cyrus
>> service)
>>
>> The end 'status=sent...' is quite different.  I am assuming it is
>> because the different protocols used to deliver the message to cyrus?
>
> From the manpage for Postfix's pipe(8):
>
>               ${extension}
>                      This  macro expands to the extension part of
>                      a recipient address.  For example,  with  an
>                      address  user+foo at domain  the  extension  is
>                      foo.
>
>               ${mailbox}
>                      This  macro  expands  to  the complete local
>                      part of a recipient address.   For  example,
>                      with  an address user+foo at domain the mailbox
>                      is user+foo.
>
>               ${recipient}
>                      This macro expands to the complete recipient
>                      address.
>
>               ${user}
>                      This macro expands to the username part of a
>                      recipient address.   For  example,  with  an
>                      address user+foo at domain the username part is
>                      user.
>
> When you used the original service definition for "cyrus" provided
> with Postfix, it does not pass the domain/realm to cyrdeliver because
> it is only using ${user}.
>
> If you want to continue using cyrdeliver, you can replace ${user} with
> ${recipient}.
>
> However, the recommended delivery method for Cyrus with Postfix is
> "lmtp". Postfix's lmtp client will correctly transmit the full
> user at domain to Cyrus.  You may run into problems with delivery to the
> local lmtp socket due to permissions or the Postfix chroot, but these
> problems can be resolved in a few different ways.
>
> It looks like you have already managed to get it working...
>
>     Andy
>


Very good to know.  Thank you.  Thank you all for your invaluable help.
I really could not have done it with out all your help.  Yes it is
working very well now.

-Adam


More information about the Info-cyrus mailing list