Parece que o que você quer é classificar qualquer e-mail enviado para seu host diretamente de um IP em um intervalo dinâmico como spam, e alimentar essas mensagens ao SpamAssassin para que ele possa aprender as características desses mensagens de spam, caso venham de servidores "legítimos".
Se for esse o caso, o que você quer fazer pode ser realizado sem fazer correspondências de regex nos cabeçalhos do email para isolar os remetentes (computacionalmente caro!) e sem reescrever e-mails (também computacionalmente caros, adicionando uma etapa extra), aproveitando as listas negras de DNS.
- Verifique seu email em uma lista de bloqueios de DNS apropriada
(O Spamhaus PBL terá uma lista de "redes dyn-ip", e é quase certamente mais preciso e menos tempo -consuming do que uma lista que você mantém à mão Alternativamente, você poderia usar a Zen list e pegar muitas outras coisas também)
- Se o e-mail for um hit na lista negra:
- Alimente-o ao SpamAssassin (
pipe sa-learn
) - Descarte a mensagem (
fail
oufinish
conforme desejado)
- Alimente-o ao SpamAssassin (
Não sou especialista em Exim, mas ao examinar a documentação, toda essa cadeia pode ser montada usando arquivos de filtro exim e uma pesquisa dnsdb
(no lugar do suporte à lista negra incorporada).
Se você quiser adicionar sua correspondência de expressão regular como condições adicionais, certamente poderá fazer isso também, mas não é necessário reescrever o destinatário.