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 [email protected]
and this should be expanded to [email protected] and [email protected].
[email protected] which mailbox is on backend1 is not the problem and is
delivered via dovecot.
But [email protected] 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=<[email protected]>, orig_to=<[email protected]>,
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