Invia posta spam a una cartella speciale usando postfix


9

Ho un server postfix che esegue amavis e SpamAssassin per aiutare a filtrare lo spam. I messaggi rilevati come spam appaiono così quando vengono consegnati nel Maildir dell'utente:

Da tom @ tom-mint ven 15 mar 01:46:20 2013
Return-Path: <tom @ tom-mint>
X-Original-To: tom@my-server.com
Consegnato a: tom@my-server.com
Scansione X-Virus: Debian amavisd-new su my-server.com
X-Spam-Flag: SÌ
Punteggio X-Spam: 6.463
Livello X-Spam: ******
X-Spam-Status: Sì, punteggio = 6.463 tagged_above = 2 richiesto = 6.31
    test = [DRUGS_ERECTILE = 2.221, FH_FROMEML_NOTLD = 0.18,
    FSL_HELO_NON_FQDN_1 = 0.001, HELO_NO_DOMAIN = 0.001, RCVD_IN_PBL = 3.558,
    RDNS_DYNAMIC = 0.363, TO_NO_BRKTS_DYNIP = 0.139] apprendimento automatico = no
Data: ven 15 mar 2013 01:46:19 -0400
A: tom@my-server.com
Oggetto: *** SPAM *** ciao
User-Agent: Heirloom mailx 12.5 20/06/10
Tipo di contenuto: text / plain; charset = us-ascii
Da: tom @ tom-mint (Tom)
Stato: RO

compra un po 'di Viagra!

Nota in particolare l'oggetto, che è anteposto ***SPAM***, e l' X-Spam-Flag: YESintestazione.

Qual è il modo migliore per configurare postfixper archiviare questi messaggi in una cartella spazzatura speciale?

Dalla mia ricerca, sembra che dovrò utilizzare uno strumento di consegna della posta diverso da Postfix per raggiungere questo obiettivo, ma non sono sicuro di quale approccio sia il migliore. Sembra che ci siano molte informazioni datate e mi chiedo se Postfix sia in grado di inserire o meno i messaggi in una cartella.

Le directory di posta sono tutte Maildir.


Sembra che potrebbe essere necessario usare qualcosa come Maildrop . Sto ancora cercando un modo per farlo con la MDA predefinita di Postfix in modo da poter mantenere gli alias e le altre funzionalità di postfix con il minimo problema. Pubblicherò la mia risposta quando ne uscirò.
Tom Marthenal,

Risposte:


8

La lettura in corsivo della pagina man local (8) local delivery agent di postfix non mostra alcun accenno a questo tipo di funzionalità, come previsto. Questo tipo di attività viene di solito scaricato su procmail (probabilmente attraverso la direttiva mailbox_command) che può gestire l'attività descritta mentre si gestisce il lavello della cucina sul lato. L'aspetto negativo di procmail è il formato del file di configurazione, il lato positivo della flessibilità e le tonnellate di esempi che sono facilmente reperibili. Se qualcosa di meglio di procmail è emerso di recente, non lo so.

Per i miei soldi, però, anche se trovassi il modo di calzare l'MTA nel fare ciò che vuoi, non seguirei quella strada, perché questo tipo di smistamento della posta ha un modo di balooning e nessun MTA (che io conosco: forse lo scambio lo sa, chi lo sa) può fare un buon lavoro nell'essere anche un gestore di messaggi / agente di consegna flessibile.

Questa è una ricetta procmail che farebbe quello che vuoi in base al solo contenuto dell'intestazione (dove DEFAULT è la directory di consegna, spesso qualcosa come $ HOME / Mail /):

:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/

Modifica: (Questo assume il formato della casella di posta maildir, come indicato in un commento qui sotto. Ometti la barra finale se si utilizza mbox)


$DEFAULT/non è necessario. Utile per la leggibilità umana. Si noti inoltre che l'aggiunta di una barra alla fine creerà un Maildir, se si utilizza Mbox, omettere la barra (consultare: unix.stackexchange.com/a/132658/241396 ).
Jari Turkia,

5

Come ha detto Alien Life Form, questo è un lavoro per procmail. Non è un sostituto dell'agente di consegna locale del server di posta; è un processo separato che verrà chiamato dopo che la MDA ha funzionato.

Ogni utente che desidera disporre di procmail che ordina la propria posta dovrà creare un file chiamato .forwardnella propria directory home. Tale file dovrebbe contenere quanto segue:

"|exec /usr/local/bin/procmail || exit 75"

completo con il "segno e tutto il resto.

ALF ha già pubblicato un .procmailfile di base che ordinerà la posta taggata con spam in una cartella separata.


1
Nota che in alcuni casi procmail vive in / usr / bin / procmail, per capire dove si trova sul tuo sistema in esecuzionewhich procmail
Malfist,

4

Qual è il tuo agente di consegna della posta (vedi main.cf mailbox_command)? Se l'MDA è dovecot, supporta lo standard SET IETF (rfc5228), che può fare molto di più di procmail senza esporre possibili falle di sicurezza. NON avvitare procmail per postfix / dovecot, il setaccio è completamente integrato. Se stai usando Courier, procmail è una soluzione valida. Tuttavia, troverai i programmi setaccio / sievec di Pigeonhole per essere più veloci e più puliti.

Di seguito è riportato un semplice script di setaccio per riconoscere l'intestazione dello spam e inserire il messaggio nel file Cestino.

require "fileinto";

if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  
{
  fileinto "Trash";
  stop;
}
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.