Postfix Tools I
Eigentlich wollte ich heute was über UTF-8 und Perl schreiben aber dafür bin ich zu müde.. Daher lieber eine kurzer Abriss aus dem Mailserver Alltag:
Heute sollte ich einem Kunden eine Mailkommunikation nachvollziehbar machen. Es ging darum ob ein spezieller Absender tatsächlich an einen Empfänger versand hat oder nicht. Und wenn ja wann und wie oft. Dabei ist mir wieder einmal aufgefallen wie unübersichtlich die Postfix Logs werden können falls einiges durch rauscht.
Zeile 1000:
Sep 9 15:00:00 hostname1 postfix/smtpd[1234]: ABCDEF12345: client=123.dynamic-ip.net[123.123.123.123], sasl_method=LOGIN, sasl_username=sender@domain.tld
Sep 9 15:00:00 hostname1 postfix/qmgr[12341]: ABCDEF12345: from=<sender@domain.tld>, size=123456, nrcpt=123 (queue active)
Zeile 2000:
Sep 9 15:00:00 hostname1 postfix/smtp[123412]: ABCDEF12345: to=<recipient@otherdomain.tld>, relay=234.234.234.234[234.234.234.234]:25, delay=3, delays=2.7/0/0.02/0.2, dsn=2.6.0, status=sent (250 2.6.0 <123@hostsender.tld> Queued mail for delivery)
Natürlich lässt sich das leicht per “grep ABCDEF12345 /path/to/mail.log” sehen aber es waren wie gesagt nicht nur um eine einzelne Mail. D.h. erstmal alle IDs rausfinden und dann diese einzelnd greppen.. Das dauert und macht wenig Spaß. Da ich das irgendwie in letzter Zeit häufiger gemacht habe – hier nun ein kleines Perl-Skript, dass ein wenig Zeit sparen sollte.
Installation:
- Runterladen
- kopieren nach /usr/local/bin
- chmod +x /usr/local/bin/find-mail-communication.pl
Anwendung:
Und so kann man sich alle an “to@recipient.tld” geschickten Mails ausgeben lassen:
cat /path/to/mail.log | find-mail-communication.pl -t to@recipient.tld
Id: * 12312312312 Time: * Sep 9 16:00:00 From: * sender@domain.tld To: * to@recipient.tld Id: * 12312312313 Time: * Sep 9 17:00:00 From: * someone@outhere.tld To: * to@recipient.tld * other@recipient.tld Id: * 12312312314 Time: * Sep 9 18:00:00 From: * whomever@whatever.tld To: * to@recipient.tld
My Name is Ulrich Kautz and this is my private blog about server administration, perl programming and some other stuff that is on my mind. I study part-time computer sience at FU Berlin and work as sys admin and web developer at our hosting company