Hallo zusammen
ich habe jetzt nochmal eine etwas schwierigere Frage, hoffentlich/vielleicht kann mir jemand von euch helfen:
Vielleicht die Voraussetzungen vorweg: Ich benutze ISPCP RC2 auf einem Debian Etch in der groben Standardkonfiguration, heißt Courier IMAP und POP sowie Postfix als Mailserver.
Courier ist eigentlich 0815 konfiguriert, lediglich am Postfix habe ich minimale Änderungen vorgenommen (Aktivierung von TSL/SSL, Spamassasin als Content-Filter an den smtp Service drangehangen und ein AMAVIS zum Virenscannen über 127.0.0.1:10026 (oder 27, Post ist ja auch nicht so wichtig). Das funktioniert alles soweit prima, der Transport ist halt per virtual auf die /var/mail/virtual/domain/user Verzeichnisse, als Adresstabelle dient halt das Standard ISPCP Virtual File wo er beim Anlegen eines Mailaccounts einen neuen Eintrag vornimmt.
Folgendes möchte ich machen: Ich möchte gerne die Mails, die durch den Spamassassin als Content-Filter ja gelaufen sind per maildrop oder procmail (das soll mir schnuppe sein) für alle User analysieren und in einen Junk Ordner verschieben (der ggf. noch nicht beim User existiert). Der Spamassassin fügt die üblichen Header Zeilen in die Mail ein wonach ich per procmail/maildrop über regulären Ausdruck suchen kann. Soweit eigentlich recht einfach sollte man meinen, mit Sendmail hab ich sowas schon ein paar mal gebaut.
Allerdings bei Postfix bricht mir irgendwie der virtual-Transport bzw. procmail oder maildrop die Ohren. Ich habe das zwar alles soweit in der master.cf bzw. main.cf angelegt soweit mir bekannt ist und ich auch hier in anderen Beiträgen im Forum nachverfolgen kann, allerdings kommen die Mails dann nicht mehr beim User an wenn ich meine Settings aktiviere. An den entsprechenden Part aus der master.cf im Postfix werden Sie aber weitergereicht möchte ich behaupten, zumindex kann ich per "ps auxf" entsprechende Threads beobachten während er sortiert, und auch die Paramenter sehen nicht schlecht aus.
Folgendes ist bei mir konfiguriert:
Generell in der master.cf folgenden Eintrag um die Mails durch den Spamassassin zu bringen:
Code:
smtp inet n - - - - smtpd
-o content_filter=spamassassin
-o receive_override_options=no_address_mappings
sowie etwas weiter unten:
Code:
spamassassin unix - n n - - pipe
user=spamassassin argv=/usr/bin/spamc -f -e
/usr/sbin/sendmail -oi -f ${sender} ${recipient}
Das funktioniert auch da ich ja nach dem Ausliefern über die Standard-Methode virtual sehe das der Spamassassin drübergerannt ist.
Nun möchte ich das filter und habe folgendes eingefügt:
Als Test mit Procmail in die main.cf:
Code:
virtual_transport = procmail
procmail_destination_recipient_limit = 1
und in die master.cf
Code:
#
# Procmail
#
procmail unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/procmail HOME=/var/mail
DEFAULT=virtual/${nexthop}/${user}/
und als Test mit Maildrop (natürlich das von Procmail wieder entfernt vorher)
in die main.cf
Code:
virtual_transport = maildrop
maildrop_destination_recipient_limit = 1
und in die master.cf
Code:
#
# Maildrop
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -w 80
-d ${user}@${nexthop} ${sender} ${recipient} ${extension}
${user} ${nexthop}
bei beiden Versuchen habe ich vorher natürlich das übliche "virtual_transport = virtual" auskommentiert mit einer Raute.
Bei beiden Versuchen konnte ich wie gesagt sehen das procmail bzw. Maildrop aufgerufen wurde, allerdings kommt die Mail nicht in den Virtual-Userordner an. Procmail macht das vollständig kommentarlos nicht, bei Maildrop erhalte ich wenigstens noch einen Eintrag ins Syslog mit der Meldung "Home directory owned by wrong user." - Das scheints aber nicht zu sein da die /var/mail/virtual/domain/user Ordner alle vmail gehören - und das ist ja der User der bei Maildrop bzw. procmail von mir als Parameter gegeben wurde.
Das einzigste was ich nicht gemacht habe war ein Filteranweisung von procmail oder Maildrop anzulegen. Allerdings müßte er dann ja die Standard /etc/procmailrc oder /etc/maildroprc nehmen - und wenn diese leer sind bzw. nicht existieren müßte er die Mail doch ungefilter wie Sie ist wieder am Ende rausspucken und einsortieren ? Oder bin ich auf dem Holzweg ?
Etwas Hilfe wäre echt grade ganz nett - vielen Dank schonmal im Voraus!
Andre