Archiv verlassen und diese Seite im Standarddesign anzeigen : Postfix: Nachrichten einer zweiten Verarbeitung zuführen
Hi,
ich suche nach einer einfachen und performanten Möglichkeit, Nachrichten zusätzlich zum normalen Verarbeitungsprozess des MTA einer weiteren Verarbeitungsroutine zuzuführen.
Die für mich offensichtlichtlichste Stelle ist "Content-Filter".
Nachteile:
a) da läuft schon mein Spamassassin (ich müßte die dann kaskadieren oder über einen Verteiler wie Amavis-New laufen lassen, oder?)
b) Ich brauche und will eigentlich nicht, dass ich die Nachricht wieder zurückgeben muss, eine Art "T-Stück" wäre mir am liebsten (wobei meine Zusatzverarbeitung ein "totes Ende" darstellt ohne Konsequenzen für die Verarbeitung; "nebenläufig").
Wofür kann man das gebrauchen? Z.B. für Archivierungszwecke oder Notifications auf einem anderen Medium.
Gibt es da geeignetere Wege für ein One-Way "Snap-In"?
Thx!
Die Backup Schnittstelle, die alle Mails zusätzlich noch in ein anders Postfach|Server transportiert wäre evtl. eine Möglichkeit. Ansonsten eben der Content-Filter.
Aber was genau willst du denn machen?
Die Backup Schnittstelle, die alle Mails zusätzlich noch in ein anders Postfach|Server transportiert wäre evtl. eine Möglichkeit. Ansonsten eben der Content-Filter.
Aber was genau willst du denn machen?
Backup-Schnittstelle? Hast Du ein suchbares Stichwort ?
Ich möchte Notifications zunächst per Jabber versenden (to/from/subject). Aber Archivierung wäre auch ein Thema, welches dort anflanschbar wäre.
Roger Wilco
03.01.07, 01:43
Ich bin recht sicher, dass er always_bcc (http://www.postfix.org/postconf.5.html#always_bcc) meint.
Ich bin recht sicher, dass er always_bcc (http://www.postfix.org/postconf.5.html#always_bcc) meint.
Ja, kann sein. Danke!
Dann muss ich aber immer noch schauen, wie ich einen Prozess mit der Mail füttern kann.
In der ".forward"-Datei kann ich auch eine Pipe auf einen Prozess angeben. Das könnte ich dann bei dem Benutzer, der als always-bcc angemailt wird installieren...
(Macht der Postfix das eigentlich wirklich für sämtliche Mail unabhängig davon aus welcher Richtung die Mail kommt?)
Sowas wie "always-pipe-to" wäre etwas näher dran an dem, was ich suche.
/EDIT: ich sehe gerade:
allow_mail_to_commands (default: alias, forward)
Restrict local(8) mail delivery to external commands. The default is to disallow delivery to "|command" in :include: files (see aliases(5) for the text that defines this terminology).
Specify zero or more of: alias, forward or include, in order to allow commands in aliases(5), .forward files or in :include: files, respectively.
Example:
allow_mail_to_commands = alias,forward,include
Das heisst, dass ich in alias-Listen auch eine Pipe angeben kann - dann könnte ich den always_bcc auf einen Alias richten, der als Pipe zu meinem Prozess definiert ist. Das gefällt mir!
Hi, habe es tatsächlich geschafft!
Ergebnis: ich erhalte jetzt ein paar Kopfdaten auf meinen Jabberaccount gesendet für jede Mail, die mein Postfix transportiert.
Zutaten:
1. Perlskript "mailnotify.pl"
(Frei nach Michael Schili (perlmeister.com/Linux-Mag); aufbauend auf CPAN´s "Net::Jabber")
Standard-In wird gescannt und bestimmte Infos herausgefiltert.
Dieser Info-String werden am Ende per Jabber versendet.
Siehe auch hier: http://www.linux-magazin.de/Artikel/ausgabe/2004/01/perl/perl.html
2. aliases
Alias definiert: "notifier: |/usr/bin/mailnotify.pl"
3. main.cf
always_bcc=notifier
Fertisch. Geht klasse!
Thx für den always_bcc-Tipp.
Natürlich geht das auch für einzelne User, dann würde man vermutlich die ~/.forward-Datei nutzen, in die man auch eine Pipe reinschreiben darf.
michael.sprick
03.01.07, 12:49
Auf ähnliche Weise könntest Du auch die
recipient_bcc_maps
benutzen. Damit geht das Ganze dann userbasiert, ohne dass du .forward verwendest...
Gruß, Michael
EDIT: Noch 'ne Alternative: In Deinem Perlskript einfach die Header auswerten und zum Beispiel mit einer Datenbank abgleichen.... so könnte man auch nur bestimmten Usern dieses Feature anbieten. ;)
Auf ähnliche Weise könntest Du auch die
recipient_bcc_maps
benutzen. Damit geht das Ganze dann userbasiert, ohne dass du .forward verwendest...
Gruß, Michael
EDIT: Noch 'ne Alternative: In Deinem Perlskript einfach die Header auswerten und zum Beispiel mit einer Datenbank abgleichen.... so könnte man auch nur bestimmten Usern dieses Feature anbieten. ;)
Danke. Gute Hinweise.
(Auf diesem Server nich aber eh alleine ;) )
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.