Postfix - exclui mensagens com valores de cabeçalho específicos do relayhost?

Postfix - exclui mensagens com valores de cabeçalho específicos do relayhost?

Começando com a seguinte configuração básica para retransmitir todas as mensagens no Postfix para PostMarkApp.com:

#start postmarkapps settings
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:secret:secret (where "secret is your API key")
smtp_sasl_security_options = noanonymous
relayhost = [smtp.postmarkapp.com]:25
#end postmarkapp settings

O problema com isso é que se, por exemplo, algo começar a emitir mensagens de erro, todas elas passarão pelo PostMark e custarão dinheiro.

Uma maneira de contornar relayhosté configurar sender_dependent_relayhost_mapse fazer com que determinados endereços sejam mapeados de volta para seudominio.com. Mas isso não funciona em aplicativos da web onde todas as mensagens são enviadas pelo mesmo usuário, mas com cabeçalhos From variados.

Então, como posso obter o mesmo efeito, sender_dependent_relayhost_mapsmas olhando para os cabeçalhos De ou Assunto, em vez de apenas para o usuário?

Responder1

Você precisa do Postfix 2.5 ou posterior.

Então em main.cfconjunto smtp_header_checks = pcre:/etc/postfix/dont_relay_this_header.

Por /etc/postfix/dont_relay_this_headerescrito

/^Subject:.*viagra/  REJECT You are not allowed to send out advertisement

Altere o conteúdo do arquivo dont_relay_this_header conforme necessário. Mais informações estão disponíveis noheader_checksmanual.

Responder2

Resolvi isso atacando-o do outro lado, ou seja, não envie mensagens para um determinado destinatário através do relayhost.

Editar /etc/postfix/main.cf:

#start postmarkapps settings
transport_maps = hash:/etc/postfix/transport
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = static:secret:secret (where "secret is your API key")
smtp_sasl_security_options = noanonymous
relayhost =
#end postmarkapp settings

Editar /etc/postfix/transport:

[email protected] :
* smtp:[smtp.postmarkapp.com]:25

E corra postmap /etc/postfix/transport.

Agora eu apenas envio todas as minhas mensagens de erro para[e-mail protegido]e não são enviados via PostMark.

informação relacionada