* Joern Bredereck jb@bw-networx.net:
Hallo Patrick,
Am 25.09.10 22:35, schrieb Patrick Ben Koetter:
Postfix prüft die $local_recipient_maps, um lokale User zu identifizieren. Der Standard sieht passwd und aliases-Datei vor:
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
Du kannst da zusätzlich einen LDAP-Lookup reinhängen:
local_recipient_maps = ldap:/etc/postfix/localRecipients.cf proxy:unix:passwd.byname $alias_maps
In der Reihenfolge der maps musst Du Dir klar werden, welche (ldap oder lokal) zuerst konsultiert werden soll. Der erste Match beendet die Abfrage weiterer, nachfolgender maps.
Zusätzlich musst Du darauf achten, dass Postfix im Kontext von $local_recipient_maps nur den localpart einer Mailadresse suchen wird, weil der Namensraum des domainpart über $mydomain bereits festgelegt ist.
Für die Konstruktion der LDAP-Abfrage heißt das mit den Makros spielen, bei query_filter %u und nicht %s verwenden und ggf. den Namen der Domain in den Query mit einbauen, damit die Abfrage auch einen match ergibt.
In jedem Fall solltest Du auf der Kommandozeile mit postmap testen, ob der Query funktioniert bevor Du ihn in Postfix reinhängst:
% postmap -q recipient ldap:/etc/postfix/localRecipients.cf
Danke für deine Erläuterungen. Das klingt logisch und sollte eigentlich funktionieren. In der Praxis habe ich es leider nicht hinbekommen.
Was genau hast Du nicht hinbekommen? Klappt der query nicht? Wird nicht zugestellt? Was sagt das log?
Wahrscheinlich erwartet Postfix als Search-Result einen Eintrag wie in der /etc/passwd:
zarafa:~# postmap -q rrubic proxy:unix:passwd.byname rrubic:x:1055:1055::/home/rrubic:/bin/sh
Vom Active Directory bekomme ich als Result hingegen nur den Usenamen. Mag sein, dass das bei einem "richtigen" Posix-Schema in einer "richtigen" LDAP-Datenbank klappt, aber zumindest Out-of-the-Box scheint es bei einem Microsoft-AD nicht zu klappen.
Kann natürlich auch sein, dass ich den Query nur falsch definiert habe. Hat denn jemand eine Idee, wie so ein Query aussehen müsste um ein AD zu "befragen", damit Postfix auch etwas damit anfangen kann? Welches Result erwartet "local_recipient_maps" denn genau?
Postfix erwartet 'ein' Result. Die Tatsache, dass _überhaupt_ ein positives Result existiert wird als "Ja, den Empfänger gibt es" gewertet und Postfix nimmt die Mail daraufhin prinzipiell an (weil der Empfänger existiert).
Wie die Mail dann in die Mailbox kommt, ist eine andere Sache.
p@rick