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