I have configured two instances of exim4 on two different Ubuntu servers. They both accept e-mail for the same three domains. The primary one acts as the final destination whereas the secondary only relays e-mails to the primary one.
There is a problem however with unroutable addresses. Every once in a while the secondary server will receive an e-mail for a non-existent address but within the proper domain. It accepts this message and then tries to relay it to the primary server. The primary server however rejects it with "550 Unrouteable address" thus getting the secondary stuck with all those messages frozen in the queue.
What is the proper solution to this problem? Should the secondary server drop messages rejected by the primary server? If so, how do I configure it to do that?
And how do I do it without losing the redundancy. Let's say the primary server comes up with a broken config and rejects all messages. I wouldn't want to lose them. I would actually appreciate if the secondary server held on to them until primary is restored to its proper config.
Surely, the problem is not new and canonical solutions exist...?