Rapport des remises postfix
Ce petit script permet de générer un tableau (format dokuwiki) listant les différentes remises de mail faites par postfix. En le combinant avec journalctl, on peut avoir un rapport par exemple sur la dernière semaine:
journalctl -u postfix --since=-7d | perl parse_postfix.pl
- parse_postfix.pl
#!/usr/bin/perl -w use warnings; use strict; my $host_re = qr/(?:(?:(?:(?:[a-zA-Z0-9][-a-zA-Z0-9]*)?[a-zA-Z0-9])[.])*(?:[a-zA-Z][-a-zA-Z0-9]*[a-zA-Z0-9]|[a-zA-Z])[.]?)/; print "^ Date ^ Destinataire ^ Serveur distant ^ Adresse serveur distant ^ Statut ^ Message remise ^\n"; while (<STDIN>){ next unless $_ =~ m/^(.+\.?\s\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2})\s($host_re)\spostfix\/smtp\[\d+\]:\s\w+:\sto=<(.*)>,\srelay=($host_re)\[(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})\]:\d+,\sdelay=\d+(\.\d+)?,\sdelays=.*,\sdsn=.*,\sstatus=(\w+)\s\((.*)\)/; print "| $1 | $3 | $4 | $5 | $7 | $8 |\n"; }