8.3. Gérer le service

8.3.1. Démarrage et arrêt

Par défaut Postfix démarre au boot. Il n'y a rien dans /etc/default qui permette de désactiver globalement Postfix. Mais dans la mesure ou un service SMTP est quasiment nécessaire sur chaque machine (au moins pour distribuer à l'extérieur les messages générés localement), désactiver Postfix n'a pas vraiment de sens. On pourrait à la limite le remplacer par un client SMTP plus léger (ssmtp par exemple) ou le conserver tout en le restreignant à son adresse de loopback.

On pourra utiliser indifféremment la commande invoke-rc.d ou la commande postfix pour démarrer (start) ou arrêter (stop) Postfix.

Pour redémarrer, on utilisera invoke-rc.d avec le paramètre restart tandis que pour relire la configuration, nous devrons utiliser cette fois la commande postfix avec le paramètre reload. Tout cela n'est malheureusment pas très consistant...

8.3.2. Gestion de la queue

Lorsque l'on envoie un courriel à Postfix afin qu'il l'expédie sur un autre serveur SMTP, il le stocke d'abord dans une file (appellée queue ou spool). Le message y restera tant qu'il ne sera pas transmis correctement au prochain serveur SMTP. En théorie (et souvent en pratique), les emails ne se perdent pas : ils sont soit dans la boite du destinataire, soit dans la queue d'un serveur intermédiaire.

Postfix permet de gérer cette queue à l'aide de trois commandes :

  • mailq : permet d'afficher l'état de la file des messages. Les messages dont le « Queue ID » est suivi de « * » sont en cours d'envoi,

  • postfix flush : permet de demander le traitement immédiat de la file des messages,

  • postsuper -d [id] : permet de supprimer un message.

root@ubuntu:~# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
954B637CC0      284 Fri Jul  6 22:07:04  root@exemple.com
                                         alice@exemple.com

1748437CC7      282 Fri Jul  6 22:07:08  root@exemple.com
                                         bob@exemple.com

8DE2037CC9      283 Fri Jul  6 22:07:10  root@exemple.com
(Host or domain name not found. Name service error for name=smtp.orange.fr type=MX: Host not found, try again)
                                         nono@orange.fr

-- 1 Kbytes in 3 Requests.
root@ubuntu:~# postfix flush
root@ubuntu:~# mailq
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
954B637CC0*      284 Fri Jul  6 22:07:04  root@exemple.com
                                         alice@exemple.com

1748437CC7*     282 Fri Jul  6 22:07:08  root@exemple.com
                                         bob@exemple.com

8DE2037CC9*      283 Fri Jul  6 22:07:10  root@exemple.com
(Host or domain name not found. Name service error for name=smtp.orange.fr type=MX: Host not found, try again)
                                         nono@orange.fr

-- 1 Kbytes in 3 Requests.
root@ubuntu:~# mailq
8DE2037CC9*      283 Fri Jul  6 22:07:10  root@exemple.com
(Host or domain name not found. Name service error for name=smtp.orange.fr type=MX: Host not found, try again)
                                         nono@orange.fr

-- 1 Kbytes in 1 Requests.
root@ubuntu:~# postsuper -d 8DE2037CC9
postsuper: 8DE2037CC9: removed
postsuper: Deleted: 1 message
root@ubuntu:~# mailq
Mail queue is empty
root@ubuntu:~#