Wie exim LMTP callout in einem Router prüfen?
Posted: 2003-07-03 14:45
Bisher benutze ich in einem exim Router einen db3 Lookup auf eine Datenbank in der die bei cyrus angelegten Benutzer hinterlegt sind. Ich kann also mit einem simplen Lookup prüfen ob der $local_part einer Adresse bei cyrus bekannt ist. Wenn der Benutzer nicht bekannt ist findet ein Adressrewriting statt (via MySQL Lookup).
Ich möchte das jetzt so abändern, dass anstelle des db Lookup ein LMTP callout (nach Exims Sprachgebrauch) an cyrus gemacht wird. Dort soll mit einem "RCPT TO:<$local_part>" getestet werden ob die Mail von cyrus angenommen wird. Ist die LMTP Connection unten soll die Mail in der queue gehalten werden. Nach einen 2xx Status soll die Mail ausgeliefert werden und ein 5xx soll in einem MySQL DB Lookup laufen wo geprüft wird ob ein Adressrewriting vorgenommen werden kann.
Ich kenne bisher die Möglichkeit in einer ACL nach dem RCPT TO: einen verfiy callout zu machen. Allerdings weiss ich nicht wie sich das verhält wenn dort Adressrewriting stattfindet. Also z.B. soll die E-Mailadresse mit $local_port "support" erstmal an den Benutzer "normale_adresse" geroutet werden.
Ich setze exim 4.20, cyrus 2.1.12 auf debian woody ein.
Ich möchte das jetzt so abändern, dass anstelle des db Lookup ein LMTP callout (nach Exims Sprachgebrauch) an cyrus gemacht wird. Dort soll mit einem "RCPT TO:<$local_part>" getestet werden ob die Mail von cyrus angenommen wird. Ist die LMTP Connection unten soll die Mail in der queue gehalten werden. Nach einen 2xx Status soll die Mail ausgeliefert werden und ein 5xx soll in einem MySQL DB Lookup laufen wo geprüft wird ob ein Adressrewriting vorgenommen werden kann.
Ich kenne bisher die Möglichkeit in einer ACL nach dem RCPT TO: einen verfiy callout zu machen. Allerdings weiss ich nicht wie sich das verhält wenn dort Adressrewriting stattfindet. Also z.B. soll die E-Mailadresse mit $local_port "support" erstmal an den Benutzer "normale_adresse" geroutet werden.
Ich setze exim 4.20, cyrus 2.1.12 auf debian woody ein.