[Postfixbuch-users] content_filter Probleme
Patrick Ben Koetter
p at state-of-mind.de
Sa Mär 11 11:16:10 CET 2006
* Andre Bischof <a.bischof at gmx.net>:
> Hallo zusammen,
>
> ich hoffe das ich mit meiner Frage hier richtig bin, ansonsten bitte ich
> um einen Tipp, wo ich sie am besten sonst loswerden kann.
>
> Sowohl über google als auch über eine allgemeine Linux-Liste bin ich ein
> bißchen weitergekommen, aber so richtig klappt's noch nicht - vielleicht
> könnt ihr helfen?
>
> Ich möchte alle _ausgehenden_ Mails des Systemusers "www-data" (Debian
> 3.1) automatisch in einen Sent-Ordner _kopieren_.
Du solltest einen Empfänger für "www-data" einrichten. Andere Mailserver
verifizieren, ob es den Absender "www-data" gibt. Wenn Dein Mailserver das
nicht bestätigen kann, dann nehmen sie die Mail meist nicht an. Da müßtest Du
schon British Airways sein (die das IIRC genau so _falsch_ haben), um in eine
Ausnahmeliste zu kommen...
> Postfix leitet letztendlich (nach Virenscan über amavis und Filterung
> über sieve) an Cyrus-IMAP weiter, klappt alles super. Einen User
> "www-data" habe ich auf dem Imapserver angelegt, einen
> user.www-data.Sent-Ordner auch. Filtern würde ich wohl über sieve, damit
> die Mails in den Sent-Ordner kommen.
>
> Was ich aber nicht verstehe: Wie kriege ich die ausgehenden Mails von
> www-data gefiltert und kopiert? Mein Ansatz wäre, einen Header (BCC:
> www-data at localhost) hinzuzufügen.
Es gibt keine BCC Header, sonst könnte ja jeder in die Header reinschauen und
nachsehen, an wen das per blind (!) carbon copy gegangen ist... ;)
> Mit check_header scheint das aber nicht zu gehen, da ich ja an den
> Envelope-Sender ran muss - die Mails von www-data (der Webserveruser)
> sind skriptgeneriert (Content-Management-Systeme, Groupware und
> dergleichen), tragen also immer andere Absender im "From:".
Der FROM:-Sender ist nicht der envelope-sender. Alles was im Header einer
E-Mail steht, kannst Du getrost in die Tonne treten, wenn es darum geht diesen
Informationen zu trauen.
Der Envelope-Sender ist die Adresse, die der Mailclient oder das Skript in der
SMTP-Session als "MAIL FROM: <envelope-sender>" angibt.
Wenn Du eine Kopie dieser Mails aufheben willst, dann lass sie vom Skript
doch gleich an zwei Empfänger schicken. Meinetwegen auch BCC...
Nebenbei bemerkt: Leute, die auf von Deinem Skript generierte E-Mails
antworten wollen, werden an www-data antworten, weil der envelope-sender
dazu herangezogen wird - außer Du setzt einen reply-to: Header und auch
der ist error-prone, weil einige MUAs diesen Header ignorieren.
Besser also gleich das Skript so bearbeiten, dass es die Adresse, die Du
auch im FROM: Header angibst, als envelope-sender verwendest. Besser iss
das...
> Geht das überhaupt über content_filter in der master.cf?
>
> Ich wollte sowas wie:
>
> 127.0.0.1:smtp inet n - n - 2 smtpd \
> -o content_filter=filter:procmail
>
> procmail unix - n n - - pipe
> flags=R user=nobody argv=/usr/bin/procmail -t -m /etc/procmailrc
> ${sender} ${recipient}
>
> probieren, aber das scheint aufgrund der oben beschriebenen Probleme
> nicht der richtige Ansatz zu sein, oder?
Selbst wenn es gehen würde, erhält so nur procmail die E-Mail und nicht der
wahre Empfänger. Ich würde sagen, Du versuchst mit Postfix aus einer Birne
einen Apfel zu machen. Das Skript sollte gleich Äpfel herstellen.
p at rick
--
Das »Postfix«-Buch
<http://www.postfix-buch.com>
saslfinger (debugging SMTP AUTH):
<http://postfix.state-of-mind.de/patrick.koetter/saslfinger/>
Mehr Informationen über die Mailingliste Postfixbuch-users