tuto:linux_divers:rapport_mails_remis_postfix

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";
}
  • tuto/linux_divers/rapport_mails_remis_postfix.txt
  • Dernière modification: 14/02/2017 11:18
  • de dani