Outils pour utilisateurs

Outils du site


tech:notes_postfix

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
tech:notes_postfix [2026/02/16 15:56] Jean-Baptistetech:notes_postfix [2026/06/29 14:11] (Version actuelle) Jean-Baptiste
Ligne 1: Ligne 1:
 +<!DOCTYPE markdown>
 +{{tag>Brouillon Postfix SMTP Perl}}
 +
 +# Notes Postfix
 +
 +Voir 
 +* http://linuxserverworld.com/how-to-flush-and-delete-postfix-mail-queue-and-its-various-operations/
 +* [Mettre en place une limite sur le nombre de mails envoyés par IP sur Postfix](https://blog.valouille.fr/2014/09/mettre-en-place-une-limite-sur-le-nombre-de-mails-envoyes-par-ip-sur-postfix/)
 +* Relay SMTP : https://wiki.csnu.org/index.php/Postfix_en_tant_que_relay
 +
 +
 +Source : http://www.cyberciti.biz/tips/howto-postfix-flush-mail-queue.html
 +
 +Voir la file d'attente
 +
 +~~~bash
 +mailq
 +~~~
 +
 +Vérif syntax
 +~~~bash
 +postfix check
 +~~~
 +
 +Sortir les mails de la file attentes (essaye de les ré-envoyer)
 +~~~bash
 +postfix flush
 +~~~
 +
 +Effacer tous les courriels de la file d'attente
 +~~~bash
 +postsuper -d ALL
 +~~~
 +
 +Effacer tous les mails de la "deferred queue"
 +~~~bash
 +postsuper -d ALL deferred
 +~~~
 +
 +Source : http://www.cyberciti.biz/tips/howto-postfix-flush-mail-queue.html
 +
 +`postfix-delete.pl`
 +~~~perl
 +#!/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);
 +~~~
 +
 +Efface de la file d'attente tous les message provenant ou en destination du domain  fackspamdomain.com
 +~~~bash
 +./postfix-delete.pl fackspamdomain.com
 +~~~
 +
 +Efface tous les courriel contenant le mot "xyz" 
 +~~~bash
 +./postfix-delete.pl xyz
 +~~~
 +
 +http://www.system-linux.eu/index.php?post/2009/01/27/Traitement-de-Queue-mail-Postfix
 +
 +Supprimer un message de la file d'attente
 +~~~bash
 +postsuper -d E795D42A16
 +~~~
 +
 +Mettre un messages en attente (hold) :
 +~~~bash
 +postsuper -h E795D42A16
 +~~~
 +
 +Remettre en file d'attente un message :
 +~~~bash
 +postsuper -r E795D42A16
 +~~~
 +
 +Afficher le contenu d'un message :
 +~~~bash
 +postcat -q E795D42A16
 +~~~
 +
 +Pour forcer l'envoie de messages spécifique à un domaine non présent dans les paramètres relay_domains de la configuration Postfix :
 +
 +Ajouter cette ligne dans le fichier main.cf :
 +
 +`main.cf`
 +~~~ini
 +fast_flush_domains = $relay_domains mondomain.fr
 +~~~
 +
 +Puis :
 +~~~bash
 +postqueue -s mondomain.fr
 +~~~
 +
 +
 +## Autre
 +
 +### Exemple de config
 +
 +`/etc/aliases`
 +~~~
 +plop: plop@localhost.acme.fr
 +~~~
 +
 +~~~bash
 +postalias /etc/aliases
 +~~~
 +
 +`/etc/postfix/main.cf`
 +~~~
 +myorigin = localhost.acme.fr
 +mydestination = $myhostname, localhost.$mydomain, localhost, $myorigin,
 +transport_maps = hash:/etc/postfix/transport
 +
 +mydomain = acme.fr
 +myhostname = myhostname
 +relayhost = 192.168.6.28
 +default_transport = smtp
 +relay_transport = smtp
 +#inet_interfaces = localhost
 +inet_interfaces = loopback-only
 +inet_protocols = ipv4
 +~~~
 +
 +~~~bash
 +systemctl reload postfix
 +~~~
 +
 +`/etc/postfix/transport`
 +~~~
 +laposte.fr :
 +acme.fr :
 +localhost.acme.fr local:
 +* error: domaine non autorise
 +~~~
 +
 +~~~bash
 +postmap /etc/postfix/transport
 +~~~
 +
 +
 +
 +
 +
 +~~~bash
 +/usr/sbin/postdrop -r
 +~~~
 +
 +
 +## Conf sur Debian
 +
 +Serveur de référence
 +~~~bash
 +apt-get install debconf-utils
 +debconf-get-selections  | grep -e '^postfix
 +~~~
 +
 +Nouveau serveur
 +~~~bash
 +LANG=C dpkg-reconfigure postfix
 +~~~
 +
 +Serveur de référence
 +~~~bash
 +postconf -n
 +~~~
 +
 +Nouveau serveur
 +~~~bash
 +# Exemple
 +postconf -e relayhost=
 +postconf -e myorigin=/etc/mailname
 +~~~
 +
 +
 +FQDN ici `/etc/mailname`
 +
 +## Pb
 +
 +### Pb FQDN
 +
 +Erreur :
 +* Helo command rejected: need fully-qualified hostname;
 +* Sender address rejected: Domain not found (in reply to RCPT TO command))
 +
 +
 +`/var/log/mail`
 +~~~
 +Helo command rejected: need fully-qualified hostname;
 +~~~
 +
 +`/etc/mailname`
 +~~~
 +smtp.acme.fr
 +~~~
 +
 +~~~bash
 +postconf -e myhostname=smtp.belaris.fr
 +postfix check
 +service postfix reload
 +~~~
 +
 +
 +## Test Question
 +
 +What is the function of this Postfix configuration ?
 +
 +~~~ini
 +relayhost = 
 +relay_transport = relay
 +relay_domains = static:ALL
 +smtpd_end_of_data_restrictions = check_client_access static:discard
 +~~~
 +
 +
  

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki