
Ich betreue einen Mailserver, der von Hunderten von Kunden genutzt wird. Hin und wieder wird ein Kunde mit einem Virus infiziert und beginnt, massenhaft Spam-Mails zu versenden. Das fällt mir vor allem deshalb auf, weil die Postwarteschlange dann mit Zehntausenden von ausstehenden Mails gefüllt wird, statt mit ein paar Hundert.
Die IP-Adresse des Spam-Absenders herauszufinden und ihn zu blockieren ist einfach, dennoch habe ich zehntausende Spam-Mails in der Mail-Warteschlange, oft mit unterschiedlichen Absenderadressen.
Wenn ich die Post-Warteschlange drucke, postqueue -p
werden die Mail-ID, die E-Mail-Adresse des Absenders und alle Empfänger angezeigt. Die IP des Absenders wird nicht angezeigt.
Ich kann die Absender-IP einer E-Mail finden, indem ich Folgendes ausführe:
postcat -q ABCDEF1234 | egrep "\\bclient_address="
Wobei „ABCDEF1234“ die Mail-ID ist.
Ich habe ein Tool geschrieben, das alle Mail-IDs auflistet, diese dann in einer Schleife durchläuft, postcat -q
jede einzelne ID ausführt und diejenigen herausfiltert, die nicht mit der eingegebenen ID übereinstimmen.
Das funktioniert, aber es istextrem langsam. Das Filtern einer Post-Warteschlange mit 441 E-Mails dauert 7-8 Sekunden. Wenn ich versuche, eine mit Spam gefüllte Post-Warteschlange mit Zehntausenden von E-Mails zu filtern, ist dieses Tool nutzlos.
Ich hoffe, dass es ein mir unbekanntes Tool oder Flag gibt, mit dem ich nach der Absender-IP-Adresse filtern kann.
Ich verwende Postfix 2.10