Comment puis-je suspendre temporairement la livraison du courrier vers un domaine spécifique (non local) avec Postfix?


13

En utilisant Postfix et les transports personnalisés, je peux gérer les vitesses de livraison en fonction du domaine du destinataire. (Par exemple, j'envoie au maximum un message par seconde à *@hotmail.com)

J'utilise également des règles similaires pour bloquer les mauvaises destinations (htmail.com est immédiatement bloqué, évitant ainsi de nombreuses boucles dans la file d'attente).

Cependant, je voudrais suspendre temporairement la livraison du courrier vers une destination pendant 24 ou 48 heures (les courriers à *@gmail.com sont suspendus, tout le reste est livré). Les messages seraient mis en file d'attente pendant cette période et ne seraient délivrés que lorsque je le souhaite en modifiant la configuration.

Est-ce que quelqu'un sait comment faire ça ?

Merci

Réponses:


20

Mettre les messages dans un état HOLD

/etc/postfix/main.cf:

smtpd_recipient_restrictions = 
    ...
    check_recipient_access hash:/etc/postfix/hold

/ etc / postfix / hold:

gmail.com        HOLD
blah.com         HOLD

Assurez-vous que vous exécutez postmap hash:/etc/postfix/holdchaque fois que vous mettez à jour le fichier.

Si vous souhaitez libérer tous les messages en attente, utilisez postsuper :

# postsuper -H ALL

On dirait que ça ne marche pas après tout. Le courrier est immédiatement envoyé. Peut-être parce que j'envoie du courrier depuis $ mynetworks? REJETER et JETER ne fonctionnent pas non plus, je devais y aller avec une erreur de transport:
Julien Tartarin

Ok, mon mauvais, le courrier envoyé localement avec mailx n'est pas vérifié car il n'est pas envoyé à smtpd. Fonctionne très bien :)
Julien Tartarin


0

Pour suspendre un domaine spécifique:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "your@domain.com" ) print $1 }' | tr -d '!*' | postsuper -h -

Pour libérer pour un domaine spécifique:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "your@domain.com" ) print $1 }' | tr -d '!*' | postsuper -H -

Tout simplement pas. Le 7 $ correspondra à l'adresse électronique de l'expéditeur sur la même ligne que l'ID de la file d'attente. L'adresse e-mail du destinataire est sur la ligne suivante, et elle a besoin d'une correspondance de domaine, pas d'une correspondance d'e-mail.
Antti Rytsölä du
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.