J'ai un serveur de messagerie de secours en cas de panne sur le principal. Dans ce cas d'échec, les e-mails arrivent sur le serveur de sauvegarde et y restent jusqu'à ce que le principal soit de retour.
Si j'attends quelques fois, la livraison se fera automatiquement dès que le serveur principal sera de retour mais cela peut être long. Alors, comment forcer une nouvelle tentative d'envoi de tous les e-mails?
Par exemple: postqueue -p: donnez-moi une liste de mails
J'ai ensuite essayé post-file d'attente -f (à partir de la page de manuel: Vider la file d'attente: tenter de remettre tout le courrier en file d'attente.). Cela a sûrement vidé la file d'attente mais aucun courrier n'a été livré ...
Selon postqueue (1) vous pouvez simplement exécuter postqueue -f
pour vider votre file d'attente de messagerie. Si les e-mails ne sont pas remis après avoir vidé la file d'attente mais sont remis en file d'attente à la place, vous voudrez peut-être vérifier vos journaux de messagerie pour les erreurs.
Un coup d'œil à postsuper (1) pourrait également être utile. Peut-être que les messages sont en attente et doivent être libérés en premier.
postqueue -f
devrait marcher. Si ce n'est pas le cas, cela a une bonne raison à cela. Vérifiez les journaux. pfqueue est également une commande très utile pour inspecter le spouleur de courrier.
sendmail -q
réessaye immédiatement la livraison de tous les e-mails de la file d'attente.
postqueue -s domain.tld
devrait faire en sorte que la machine de relais de sauvegarde vide tous les e-mails de votre site. La configuration par défaut de postfix permet le vidage par site pour tous les domaines dans relay_domains
. postqueue -f
le fera également, mais diffusera également du courrier pour les sites externes, c'est-à-dire qu'il fait plus que ce dont vous avez besoin.
Comment déterminez-vous que le courrier n'a pas été remis? Sont-ils toujours sur l'hôte de sauvegarde ou ont-ils été envoyés à l'hôte principal puis perdus?