Como suspiro temporariamente a entrega de mensagens para um domínio específico (não local) com o Postfix?

13

Usando o Postfix e transportes personalizados, posso gerenciar as velocidades de entrega, dependendo do domínio do destinatário. (Por exemplo, envio no máximo uma mensagem por segundo para *@hotmail.com)

Também uso regras semelhantes para bloquear destinos ruins (o htmail.com é bloqueado imediatamente, evitando muitos loops na fila).

No entanto, gostaria de suspender temporariamente a entrega de e-mails para um destino por 24 ou 48 horas (e-mails para *@gmail.com suspensos, tudo o mais entregue). As mensagens seriam colocadas na fila durante esse período e seriam entregues apenas quando eu quisesse, alterando a configuração.

Alguém sabe como fazer isso ?

obrigado

Julien Tartarin
fonte

Respostas:

20

Colocar mensagens em um estado HOLD

/etc/postfix/main.cf:

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

/ etc / postfix / hold:

gmail.com        HOLD
blah.com         HOLD

Certifique-se de executar postmap hash:/etc/postfix/holdsempre que atualizar o arquivo.

Se você quiser liberar todas as mensagens em espera, use postsuper :

# postsuper -H ALL
Philip Reynolds
fonte
Parece que não funciona, afinal. O email é enviado imediatamente. Talvez porque eu envio e-mails de $ mynetworks? Rejeitar e descartar também não funcionam, eu tive que concordar com o erro de transporte:
Julien Tartarin
Ok, meu email ruim enviado localmente com mailx não está marcado porque não foi enviado para o smtpd. Funciona muito bem :)
Julien Tartarin
2

Você pode fazer isso com um mapa de transporte :

gmail.com defer:

adaptr
fonte
0

Para colocar em espera um domínio específico:

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

Para liberar para um domínio específico:

postqueue -p | awk 'BEGIN { RS = "" } { if ($7 == "[email protected]" ) print $1 }' | tr -d '!*' | postsuper -H -
Salim Bennouri
fonte
Apenas não. Os US $ 7 corresponderão ao endereço de email do remetente na mesma linha que o ID da fila. O endereço de email do destinatário está na próxima linha e precisa de uma correspondência de domínio, não de email.
Antti Rytsölä