Назад | Перейти на главную страницу

Как мне временно приостановить доставку почты в определенный домен (не локальный) с помощью Postfix?

Используя Postfix и настраиваемые транспорты, я могу управлять скоростью доставки в зависимости от домена получателя. (Например, я отправляю максимум одно сообщение в секунду на *@hotmail.com)

Я также использую аналогичные правила для блокировки плохих адресатов (htmail.com блокируется сразу, что позволяет избежать зацикливания в очереди).

Однако я хотел бы временно приостановить доставку почты в пункт назначения на 24 или 48 часов (почта на *@gmail.com приостановлена, все остальное доставлено). Сообщения будут стоять в очереди в это время и будут доставлены только тогда, когда я захочу, изменив конфигурацию.

Кто-нибудь знает как это сделать ?

Спасибо

Перевести сообщения в состояние HOLD

/etc/postfix/main.cf:

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

/ etc / postfix / hold:

gmail.com        HOLD
blah.com         HOLD

Убедитесь, что вы бежите postmap hash:/etc/postfix/hold всякий раз, когда вы обновляете файл.

Если вы хотите снять все сообщения на удержании, используйте постсупер:

# postsuper -H ALL

Вы можете сделать это с помощью транспортная карта:

gmail.com defer:

Чтобы приостановить использование определенного домена:

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

Чтобы освободить для определенного домена:

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