Purger les mails a destination d'un domaine

Le script perl ci-dessous s’utilise en mettant en parametre le domaine pour lequel vous voulez purger les mails :

#!/usr/bin/perl

$REGEXP = shift || die "no email-adress given (regexp-style, e.g. bl.*\@yahoo.com)!";

@data = qx</usr/sbin/postqueue -p>;
for (@data) {
  if (/^(\w+)(\*|\!)?\s/) {
     $queue_id = $1;
  }
  if($queue_id) {
    if (/$REGEXP/i) {
      $Q{$queue_id} = 1;
      $queue_id = "";
    }
  }
}

#open(POSTSUPER,"|cat") || die "couldn't open postsuper" ;
open(POSTSUPER,"|postsuper -d -") || die "couldn't open postsuper" ;

foreach (keys %Q) {
  print POSTSUPER "$_\n";
};
close(POSTSUPER);

Postfix – Spécifier une IP différente en fonction du domaine de l'émetteur

_sender_dependent_default_transportmaps va permettre, en fonction de l’émetteur de l’email sur votre serveur de spécifier une IP précise. echo "/@domain-src-1\.ltd$/ domain_src_1:" > /usr/local/etc/postfix/outgoingips.regexp echo "/@domain-src-2\.ltd$/ domain_src_2:" >> /usr/local/etc/postfix/outgoingips.regexp echo "/@domain-src-3\.ltd$/ domain_src_3:" >> /usr/local/etc/postfix/outgoingips.regexp Création des routes, ajouter dans master.cf les “ entrées ” suivante domain_src_1 unix - - n - - smtp -o smtp_bind_address=192.168.0.1 -o smtp_helo_name=domain-src-1.ltd -o syslog_name=postfix-domain_src_1 domain_src_2 unix - - n - - smtp -o smtp_bind_address=192.168.0.2 -o smtp_helo_name=domain-src-2.ltd -o syslog_name=postfix-domain_src_2 domain_src_3 unix - - n - - smtp -o smtp_bind_address=192.168.0.3 -o smtp_helo_name=domain-src-3.ltd -o syslog_name=postfix-domain_src_3 Puis ajouter dans main.cf : sender_dependent_default_transport_maps = regexp:/usr/local/etc/postfix/outgoingips. [Voir plus]

Changer le domaine ou l'adresse mail a l'envoie

Ajoutez dans le fichier de configuration main.cf :

smtp_generic_maps = hash:/etc/postfix/generic

Dans ce fichier, vous y indiquerez ce qui doit être réécrit

@domaine.local       @domaine.net
[email protected]   [email protected]

Postfix utilisera le hash de ce fichier, générez le avec postmap

postmap /etc/postfix/generic

Bloquer le spoofing d’email avec Postfix

Exemple de spoofing d’email émit depuis un autre serveur que celui qui gere la messagerie de votre domaine : Expéditeur : [email protected] Destinataires : [email protected] Main.cf Notez le domaine de messagerie de votre Postfix : mydomain Vérifiez que Postfix ne gère pas d’autre domaines de messagerie : mydestination anti-spoofing Créer le fichier anti-spoofing et ajoutez y votredomaine.com REJECT ANTI-SPOOFING autredomaine.fr REJECT ANTI-SPOOFING Générez le hash avec la commande : postmap anti-spoofing master.cf Vous devez avoir une ligne comme cela : smtp inet n - n - - smtpd Ajoutez en dessous 2525 inet n - n - - smtpd -o smtpd_sender_restrictions=hash:/etc/postfix/anti-spoofing -o smtpd_helo_restrictions=hash:/etc/postfix/anti-spoofing Cela configure Postfix pour écouter sur le port 25 et 2525 [Voir plus]

Postfix – Supprimer les mailerdaemon

postqueue -p | grep MAILER-DAEMON | awk '{print $1}' | sed 's/[\*\!]//g' | postsuper -d -
  • postqueue -p : Affiche la liste des emails en queue
  • grep MAILER-DAEMON : Affiche uniquement les lignes qui contiennent MAILER-DAEMON
  • awk 'print $1' : Affiche uniquement la première chaine de caractères
  • sed ’s/[\*\ !]//g’ : Supprime les * de la chaine de caractères.
  • postsuper -d - : Injecte les id précédant dans la commande postsuper -d qui supprime les mails