PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : in procmailrc ldapsearch?



XeN
05.07.05, 10:06
Hallo,

ich versuche seit einiger zeit unseren Procmail was dynamischer zu gestalten.

Da unsere user alle in einer LDAP Datenbank sind währe es cool wenn der Procmail anhand von Aliaseinträgen aus dem LDAP den usernamen zurück bekommt und anhand dieses benutzernamens dann eine cyrdeliver anweisung ausführen kann.

Also habe ich mir mal die Master.cf vom Postfix angeschaut und mir viel auf das dort die Variablen $user und $recipient an das Procmail script übergeben werden.

Also habe ich mein Procmailscript was umgeschrieben so das es in etwa so aussieht.



DROPPRIVS=yes
LOGFILE="/var/log/procmail.log"
VERBOSE=yes
USER=$2
ABSENDER=$1


# --- LDAP Anfrage fuer benutzernamen stellen --

EMPFAENGER=`ldapsearch -b ou=Users,ou=OxObjects,dc=panno,dc=de -x "(|(mail=$USER)(alias=$USER))" uid | grep "uid: " | cut -f2 -d" "`


# ---

# --- an User zustellen ---
{
:0 w
| /sbin/cyrdeliver -a -m $EMPFAENGER
}
# ---
# --- Wenn fehler dann zurueck in Queue ---
:0 e
{ EXITCODE=75 HOST }
# ---


Das funktioniert auch einwandfrei. Leider nur bei internen eMails. Wenn ich mit Fetchmail eine eMail abrufe, welches ich mit folgender fetchmailrc mache.



poll "pop.XXX.de" protocol pop3:
user "konto" there with password "secret" is user dummy here;

set no bouncemail;


dann wird als $recipient immer postmaster@$mydomain übermittelt, was aber ja nun mal falsch ist.

Wie kann ich das Problem nun in den griff bekommen?

Möchte auch bei Procmail bleiben. Sieve bekomme ich einfach nicht gebacken.

mfg

XeN
05.07.05, 13:30
Keiner eine ahnung?