Elimina da mailq where il sobject corrisponde

Ho un mailq che sta ottenendo il backup con più email con la stessa linea di sobject. Vorrei eliminare tutte le email in mailq che corrispondono a una particolare row di sobject in modo da non essere inviati. Qualche idea come farlo? Abbastanza urgente come relativo spam.

3 Solutions collect form web for “Elimina da mailq where il sobject corrisponde”

Postfix non dispone di un'utilità come l'exigrep, pertanto è necessario inoltrare i file della coda per il sobject e quindi passare l'id della coda a postsuper per eliminarli

Con una tipica installazione postfix l'e-mail sarà in / var / spool / postfix. Ci sono diverse code. Vuoi interrompere il postfix in modo da poter utilizzare in modo sicuro postuper per rimuovere le email. Questo breve script rimuove tutte le email che corrispondono a una determinata string. Nel nostro caso wherevamo trovare migliaia di email che avevano tutte la stessa linea di sobject.

In questo caso, le e-mail erano tutte differite, perché il nostro servizio di remailing li aveva rifiutati a causa del nostro superamento.

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 del file per le corrispondenze, che è la queueid del messaggio corrispondente
  • i messaggi erano tutti in subderi diversi così il taglio era quello di strappare il path dalla parte anteriore. Assicurati di provare il path di return per assicurarvi di avere solo il nome della coda
  • postsuper -d – dice postsuper per eliminare i messaggi che ha ottenuto da stdin.

Spero che questo aiuta le persone che trovano questo e stanno cercando istruzioni più specifiche.

Solo un command alternativo per fare lo stesso proposto da gview:

 find /var/spool/postfix/deferred/ -exec grep -l 'Subject: this was the subject line' {} \; | xargs -r -n1 basename | xargs -r -n1 postsuper -d 
  • trovare + grep -l: trovare le email differite nel file system con il sobject specificato
  • xargs + basename: recuperare l'ID del messaggio dal path del file di posta
  • xargs + postsuper: utilizzare l'ID del messaggio recuperato per alimentare postsuper -d e eliminare la posta dalla coda
Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.