Wie exim LMTP callout in einem Router prüfen?

Postfix, QMail, Sendmail, Dovecot, Cyrus, Courier, Anti-Spam
cjhbabel
Posts: 63
Joined: 2002-07-18 12:09

Wie exim LMTP callout in einem Router prüfen?

Post by cjhbabel » 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.

dodolin
RSAC
Posts: 4009
Joined: 2003-01-21 01:59
Location: Sinsheim/Karlsruhe

Re: Wie exim LMTP callout in einem Router prüfen?

Post by dodolin » 2003-07-03 15:32

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.
Das ist genau das Problem, du hast es bereits erkannt.

Die RCPT_ACL läuft während des SMTP-Dialogs, die Router (z.B. der systemalias_router oder wie der heißt) kommen erst zum Zuge, wenn die Mail bereits akzeptiert wurde. Das habe ich auf meinem eigenen woody/exim4 System bereits festgestellt.

Ansonsten kann ich dir wohl nicht viel helfen, denn ich benutze weder SQL-DBs noch Cyrus.

cjhbabel
Posts: 63
Joined: 2002-07-18 12:09

Re: Wie exim LMTP callout in einem Router prüfen?

Post by cjhbabel » 2003-07-03 15:39

dodolin wrote: Das ist genau das Problem, du hast es bereits erkannt.
Gut dann war ich also nicht zu blind 8O

Was wohl in jedem Fall geht ist ein "queryprogramm" router. Dort könnte ich ein externes Programm laufen lassen (vermutlich erstmal ein Perlscript) was via LTMP testet ob ein Benutzer mit $local_part existiert. Allerdings ist das wieder eine Bastellösung und ich hätte gerne etwas mit exim Boardmitteln gemacht. Hat noch jemand eine Idee?