Miért lennék open relay? Ha az adott domain MX-e az általam meghatározott cím *és* ez a cím létezik az LDAP-ban, akkor helyileg kézbesítem valamelyik backend szervernek, amelyet az LDAP-ból nyerek. Ha az LDAP-ban nem létezik ez a cím, elutasítom, mint nem létezőt.
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.
Szerencsétlen keveréke egy mx-nek és smarthostnak, ez igaz.
Gyakorlati élő alkalmazás: egy cégnél, ahol régebben kellett pár dolgot hegesztenem volt olyan feladat, hogy megváltoztak e-mail címek, amelyeket át kellett írni, de nem akarták, hogy az újonnan létrehozott címeknél is működjön ez az átírás (rövidebb volt a régi cím, mint az új, -domain.hu-ból lett valami.domain.hu- így fennállt a veszélye, hogy az újak is a régit használnák :).
Nyilván lehet csinálni egy statikus táblát, viszont ha már sok százezer címed van, szebbnek tűnik úgy átírást csinálni, hogy a createtimestampet veszed figyelembe és akinek ez egy dátumnál magasabb, annál nem írsz át, a régi formájú címet nemlétezőnek veszed.
Egy kérdesem még lenne, te úgyis fényévekkel jobb vagy postfixben, biztos tudod a választ. :)
Ha kihagyjuk az MX lookupot és csak az átírásra koncentrálunk: hogy oldod meg, hogy megtörténjen az átírás, és emellett címzett ellenőrzés is legyen? Legyen csak egy egyszerű domain1.hu->domain2.hu átírás, az LDAP-ban csak domain2.hu-s címek vannak, vannak viszont más domainek is, tehát LDAP filterből keresni uid@domain2.hu-t nem célszerű.
Esetleg bonyolíthatjuk azzal (de ezt kezeld külön a fenti problémától), hogy az LDAP-ban domain1.hu-s címek is maradtak, így először domain1.hu-ra kell keresni, ha az nincs, át kell írni domain2.hu-ra és ellenőrizni, hogy az létezik-e. :)