Soluzione 1:
Con una tipica installazione postfix l'e-mail sarà in /var/spool/postfix. Ci sono diverse code. Vuoi interrompere postfix in modo da poter utilizzare in sicurezza postsuper per rimuovere le e-mail. Questo breve script rimuoverà tutte le e-mail che corrispondono a una determinata stringa. Nel nostro caso dovevamo trovare migliaia di email che avevano tutte lo stesso oggetto.
In questo caso, le email sono state tutte posticipate, perché il nostro servizio di remailing le aveva rifiutate a causa del nostro superamento del limite.
cd /var/spool/postfix/deferred
grep -r -i -l "This was the subject line" ./ | cut -d/ -f3 | postsuper -d -
Alcune note chiave su questo:
- grep -l ha restituito il nome file per le corrispondenze, che è l'ID coda del messaggio corrispondente
- i messaggi erano tutti in sottodirectory diverse, quindi il taglio è stato quello di rimuovere il percorso dall'inizio. Assicurati di testare il tuo percorso di ritorno per assicurarti di ottenere solo il nome della coda
- postsuper -d - dice a postsuper di eliminare i messaggi ricevuti da stdin.
Spero che questo aiuti le persone che lo trovano e sono alla ricerca di istruzioni più specifiche.
Soluzione 2:
Postfix non ha un'utilità come exigrep, quindi dovrai eseguire il grep dei file di coda per l'oggetto e quindi indirizzare l'id della coda a postsuper per eliminarli