如何使用Postfix临时暂停向特定域(非本地)发送邮件?

使用Postfix和自定义传输,我可以根据收件人的域来pipe理传递速度。 (例如,我每秒最多发送一条消息给*@hotmail.com)

我也使用类似的规则来阻止不好的目的地(htmail.com马上被阻止,避免了队列中的许多循环)。

不过,我想临时暂停邮件发送到目的地24或48小时(邮件到*@gmail.com暂停,其他所有交付)。 消息会在这段时间内排队,只有当我想要更改configuration时才会被发送。

有谁知道如何做到这一点?

谢谢

将消息置于HOLD状态

/etc/postfix/main.cf文件:

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

在/ etc /后缀/保持:

 gmail.com HOLD blah.com HOLD 

确保在更新文件时运行postmap hash:/etc/postfix/hold

如果要释放所有保留的消息,请使用postsuper :

 # postsuper -H ALL 

你可以用一个交通图做到这一点:

gmail.com defer:

搁置特定领域:

 postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]" ) print $1 }' | tr -d '!*' | postsuper -h - 

要为特定域释放:

 postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]" ) print $1 }' | tr -d '!*' | postsuper -H -