13

Using Postfix and custom transports I can manage delivery speeds depending on the recipient's domain. (For example, I send max one message per second to *@hotmail.com)

I also use similar rules to block bad destinations (htmail.com is blocked right away, avoiding many loops in the queue).

However, I'd like to temporarily suspend mail delivery to a destination for 24 or 48 hours (mails to *@gmail.com suspended, everything else delivered). Messages would queue up during this time, and would be delivered only when I want by changing the config.

Does anyone know how to do that ?

Thanks

21

Put messages in a HOLD state

/etc/postfix/main.cf:

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

/etc/postfix/hold:

gmail.com        HOLD
blah.com         HOLD

Make sure you run postmap hash:/etc/postfix/hold whenever you update the file.

If you want to release all messages on hold, use postsuper:

# postsuper -H ALL
|improve this answer|||||
  • Looks like it doesn't work after all. Mail is immediately submitted. Maybe because I send mail from $mynetworks ? REJECT and DISCARD don't work either, I had to go with transport's error: – Julien Tartarin Dec 16 '09 at 17:05
  • Ok, my bad, mail sent locally with mailx is not checked because it's not sent to smtpd. Works very well :) – Julien Tartarin Dec 16 '09 at 18:02
2

You can do this with a transport map:

gmail.com defer:

|improve this answer|||||
0

To put on hold for specific domain:

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

To release for a specific domain:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "your@domain.com" ) print $1 }' | tr -d '!*' | postsuper -H -
|improve this answer|||||
  • Just no. The $7 will match the Sender Email address on the same line as the queue ID. The recipient email address is on the next line, and it needs a domain match, not email match. – Antti Rytsölä Apr 12 '14 at 11:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.