Op het werk hebben we een Ubuntu 7.04 server in gebruik. Deze doet zijn plicht als webserver, MySQL server en mailserver en hangt in een datacenter. Voor de mail wordt Postfix gebruikt.
Veel van onze klanten maken gebruik van een Exchange mailserver. Omdat bij lang niet alle providers een fallback server aanwezig is bieden we voor deze klanten een fallback optie aan door middel van een pop3 box. Mocht de klant een internet or server storing hebben dan stroomt de mail binnen op onze server en wordt de pop box gevuld. (hier zit een catch all adres op) Wanneer de Exchange server weer in de lucht komt haalt de pop connector de mail weer op en is de pop3 box weer leeg. Een systeem dat voor een aantal klanten, en voor ons zelf, aardig wat ellende heeft weten te voorkomen.
Er zit echter 1 nadeel aan. Omdat voor de domeinen waar we de fallback voor regelen het domein als catch-all staat ingesteld bij Postfix (@example.com) ben je afhankelijk van de interval die is ingesteld op Exchange om de mail op te halen. Wanneer zo'n klant de website op onze server heeft staan dan betekent dat standaard wanneer er een e-mail via onze server (mailformulier op website bijv.) wordt verstuurd deze altijd in de pop3 box terecht komt. Het domein wordt namelijk herkent en dus wordt de mail lokaal afgeleverd.
Wat ik graag wil is dat wanneer Postfix een mail gaat versturen ALTIJD naar de MX records van het domein kijkt. Als het account lokaal bestaat dan moet Postfix deze negeren, althans, de MX volgorde moet gehanteerd worden. De volgorde van de MX records is belangrijk. Wanneer een Exchange server gewoon in de lucht is moet de mail daar gewoon direct afgeleverd worden.
Iemand enig idee hoe ik Postfix kan configureren om dit te doen?
Op internet heb ik verschillende dingen gevonden, zoals het maken van een /etc/postfix/transport bestand en heb ook verschillende dingen geprobeerd maar tot nu toe zonder resultaat.
Alle mail accounts en forwarders zijn ingesteld in /etc/postfix/virtual. Er hangt dus geen MySQL database o.i.d. aan vast. Bijv. als volgt:
example.com postmaster
# Fallback voor example.com
@example.com example
In dit voorbeeld wordt alle mail naar example.com afgeleverd in de maildir van gebruiker example.