Lösung 1:
Bei einer typischen Postfix-Installation befindet sich die E-Mail in /var/spool/postfix. Es gibt mehrere Warteschlangen. Sie möchten Postfix stoppen, damit Sie Postsuper sicher verwenden können, um die E-Mails zu entfernen. Dieses kurze Skript entfernt alle E-Mails, die mit einer bestimmten Zeichenfolge übereinstimmen. In unserem Fall mussten wir Tausende von E-Mails finden, die alle dieselbe Betreffzeile hatten.
In diesem Fall wurden alle E-Mails zurückgestellt, weil unser Remailing-Service sie abgelehnt hatte, weil wir das Limit überschritten hatten.
cd /var/spool/postfix/deferred
grep -r -i -l "This was the subject line" ./ | cut -d/ -f3 | postsuper -d -
Einige wichtige Anmerkungen dazu:
- grep -l gab den Dateinamen für Übereinstimmungen zurück, der die Warteschlangen-ID der übereinstimmenden Nachricht ist
- Die Nachrichten befanden sich alle in verschiedenen Unterverzeichnissen, also bestand der Schnitt darin, den Pfad von der Vorderseite abzustreifen. Stellen Sie sicher, dass Sie Ihren Rückgabepfad testen, um sicherzustellen, dass Sie nur den Warteschlangennamen erhalten
- postsuper -d - weist postsuper an, Nachrichten zu löschen, die es von stdin erhalten hat.
Ich hoffe, das hilft Leuten, die das finden und nach genaueren Anweisungen suchen.
Lösung 2:
Postfix hat kein Dienstprogramm wie exigrep, daher müssen Sie die Warteschlangendateien für den Betreff grep und dann die Warteschlangen-ID an postsuper weiterleiten, um sie zu löschen