On Monday 16 April 2007 20:14, Sandy Drobic wrote:
Benjamin E. Zeller wrote:
Hallo Liste,
ich komme mal wieder mit einer Amavis-Frage. Diesmal geht es mir um die Auswertung von geblockten Mails. In meiner Umgebung blocke ich neben Viren, Anhaengen auch Spam (also nicht nur getagged weiterleiten). Was ich jetzt noch gerne haette, waere eine Art Tageszusammenfassung ueber abgelehnte Mails.
Ich bin schon soweit, mir eine entsprechende Mail zusammenzubauen - aufgeteilt nach kaputten Headern, Spam und Viren inkl einiger Informationen wie Subject, bei Spam Punkte, bei Viren Virustyp etc pp.
Die Kuer waere jetzt folgende:
Ich schicke diese Mail momentan an eine definierbare eMail-Adresse. Heisst also, zb ein Admin bekommt die Zusammenfassung fuer alle User. Was ich gerne haette waere, dass jeder User eine eigene eMail bekommt - also nur mit an ihn geblockten eMails.
Ich scheitere jedoch an der Generierung und beim Versenden dieser Mail. Am Beispiel Spam erklaert: Ich greppe z.B. nach dem "To:" im Amavis-Verzeichnis. Das funktioniert fuer o.g. Beispiel problemlos.
Nur wie baut man sich sowas fuer das was ich als "Kuer" bezeichnet habe? Oder hat sowas jmd schon gebaut?
Sorry, Ich kapiere dein Problem nicht. Bitte mal ein Beispiel und die dabei entstehenden Logzeilen aus /var/log/mail posten.
Hi Sandy, danke fuer die Nachfrage, war wohl bissl doof bzw unverstaendlich ausgedrueckt. Keine Logzeile in /var/log/mail (gibts natuerlich, aber das verwende ich nicht). Momentan ist es folgendermassen: Per Cron wird mein Script gestartet. Das Script tut momentan folgendes: Es ermittelt via find mit -name mtime die gesamt gefilterten Mails. Dann gehts in die Details, in denen Empfaenger der blockierten Mail, Betreff, (bei Spam) Spam-Score und Mail-ID ausgegeben werden. Das ermittle ich bspw mit egrep '^X-Spam-Status:' $spamfile | sed -e 's/.*score=//' -e 's/ .*//' So baue ich mir fuer Spam, Viren, defekte Header eine Tabelle zusammen, die die o.g. Informationen enthaelt. Das Ergebnis ist eine HTML-Datei (Kundenwunsch und auch wg den Tabellen) die dann folgendermassen verarbeitet wird: script-aufruf | mutt -s "[ibh-mail] Tageszusammenfassung vom `/bin/date -d yesterday '+%d.%m.%Y'`" -e 'set content_type=text/html' $recipient Das funktioniert auch wunderbar, jedoch wie schon erwaehnt, nur mit EINEM Empfaenger, der Infos ueber ALLE geblockten Mails erhaelt. Jetzt haette ich das Ganze (die oben beschriebene "Kuer") gerne "aufgeteilt", also dass jede Mail-Adresse Infos darueber enthaelt, welche eMails abgefangen wurden. Ich weiss jedoch nicht, wie ich das bewerkstelligen soll, nach was ich greppen soll, wie ich die einzelnen Mails abschicke etc pp (was ist mit aliasen, die auf mehrere Mail-Adressen zeigen usw). Ich hoffe, ich konnte das ganze jetzt ein bisschen besser erklaeren. LG, Benni -- Benjamin E. Zeller Ing.-Büro Hohmann Bahnhofstr. 34 D-82515 Wolfratshausen Tel.: +49 (0)8171 347 88 12 Mobil: +49 (0)160 99 11 55 23 Fax: +49 (0)8171 910 778 mailto: zeller@ibh-wor.de www.ibh-wor.de