Hello list

I have a postfix setup with a frontend and two backend servers.  The
problem is that one user has forward (ex forwards to his mailbox and to
another one). The problem is that one mailbox is on backend1 and the
other (expanded from alias) is on backend2. Now I thought okay I add a
transport mapn on each backend

<<
user = xxx
password = xxx
hosts = xxx
dbname = mail
query = SELECT CONCAT('smtp:[',backend,']:25') AS transport FROM mailbox
WHERE username = '%u@%d' AND active=1 AND backend != '192.168.50.42'
>>
now backend1 (ip 192.168.50.42) receives an email for u...@domain.tld
and this should be expanded to u...@domain.tld and us...@domain.tld.
u...@domain.tld which mailbox is on backend1 is not the problem and is
delivered via dovecot.
But us...@domain.tld which mailbox is on the other backend
(192.168.50.41) generates the following errors in the logs

<<
Nov  6 13:39:19 backend2 postfix/smtp[12130]: 5826E280645:
to=<us...@domain.tld>, orig_to=<u...@domain.tld>,
relay=192.168.50.41[192.168.50.41]:25, delay=0.07,
delays=0.05/0.01/0.01/0, dsn=5.4.6, status=bounced (mail for
[192.168.50.41]:25 loops back to myself)
>>

I found that this is because domain.tld is listed as
virtual_mailbox_domains on both backends. So backend1 always assumes
it's final destination for domain.tld although the transport tells to
send to another server.

The only way I could see to solve is to perform the alias expension
already on the smtp frontend. But I could not find a parameter to do
this like relay_alias_maps or something like that.
Is there a way to perform the alias on the frontend before it relays to
the respective backend?

Thanks a lot for any idea :-)

tobi

Reply via email to