Zum Inhalt

Automatische Benachrichtigung über abgelehnte E-Mails

Für die meisten Linux-Hasen sicherlich ein alter Hut, für mich im Zuge meines neuen Mailservers mit recht restriktiven Einstellungen jedoch Neuland…

Ein Arbeitskollege hat mich hier auf den Weg gebracht. Entstanden ist dadurch ein Zweizeiler, mit dem ich tagesaktuell die Datei /var/log/mail.log nach abgelehnten E-Mails durchsuchen kann.

Mich interessieren hierbei nur meine real existierenden Adressen. Daher musste ich im ersten Schritt aus meiner Datenbank eine Liste der aktuell konfigurierten Adressen besorgen

mysql -u<username> -p<password> -N -e "select address from alias" > address.list

Mit dieser Datei als Suchpattern geht es nun auf die Suche in den Logfiles.

sudo grep reject /var/log/mail.log | egrep "date +'%b %e'" | egrep -f address.list | sort -u

Diese beiden Zeilen habe ich, in einem Shell-Skript verpackt, in die crontab für 23:59 Uhr eingetragen. Damit sehe ich dann am nächsten Morgen, ob mir ggf. eine wichtige E-Mail durch die Lappen gegangen ist und wo ich ggf. durch einen Whitelist-Eintrag gegensteuern kann.

Inwieweit ich meinen grep noch anpassen muss, wird die Zeit zeigen. Aber für den Moment reicht mir das.

Ach ja, damit eine eventuelle Ausgabe der cronjobs auch an meine normale E-Mailadresse gesendet wird, habe ich in der crontab in der ersten Zeile folgenden Eintrag gesetzt

MAILTO=cron@domain.tld

Damit wird jede Terminalausgabe eines Cronjobs am mich per E-Mail gesendet.

Published inMailServer

Schreibe den ersten Kommentar

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.