Az eredeti leírásból hiányzott a következő:
Ha a domain nem rám mutat, akkor elfogadom és továbbküldöm a megfelelő MX-nek *de* csak akkor, ha a feladó IP címe szerepel az engedélyezettek között.
E nélkül open relay lett volna a setup.
De látható, hogy ebben az esetben is fölösleges az MX lookup, mert így is, úgy is az LDAP lookup dönti el a levél sorsát.
Szerintem a kérdéses feladatot anélkül nem lehet jól (szépen/átláthatóan/stb.) megoldani, hogy valahol tárolod azokat a domain-eket, amelyek számára relay-ezel (és melyik backend kezeli a levelet), valamint ettől függetlenül a cím átírásokat. (Utóbbi persze használható a létező címek ellenőrzésére is.)
Konkrétan LDAP-ra nem tudom a megoldást (soha nem használtam), nálunk SQL alapon megy az egész. Kb 70 E-mail címtér, az összes backend szerverekre megy, közben részben cím átírással, részben anélkül. Persze az igazsághoz hozzátartozik, hogy saját policy daemon fut, de az nem a föntieket kezeli, hanem tisztán spamszűrést végez.
Tényleg, sendmail-el lehet csinálni regexp alapú átirányítást? Régebben MX voltunk a netfilter.org-ra is, és a következőt használtuk a levelek továbbítására:
/@(netfilter|iptables|gnumonks).org$/ smtp:[coruscant.$1.org]
:-)