System: SuSE Linux 7.3
#!/bin/bash # Zweck dieses Skripts ist es, mails von einem Account # zu löschen, der einzig als Spam-Mülltonne existiert, # ohne dass sie vorher Übertragen werden müssen. # Öffnen der Verbindung: exec 3<> /dev/tcp/pop3server/110 # Abfragen des pop3-accounts: echo -e "user username\npass passwort\nquit" >&3 # Ergebnis auslesen und Zahl der Mails in Variable schreiben # (Diese Zeile ist abhängig vom Format der Antwort des pop-Servers.) NACHRICHTEN=$(cat <&3 | sed -n -e '/username has/p' | cut -d\ -f 4) # Debug echo nachrichten $NACHRICHTEN # Wenn keine Nachrichten da sind, muss nichts weiter passieren. test $NACHRICHTEN -eq 0 && exit 0 # while-Teil - Abhängig von der Zahl der vorhandenen Mails # wird eine Kommandozeile zusammengebastelt: COUNTER=1 KOMMANDO='user username\npass passwort\n' while test $COUNTER -le $NACHRICHTEN do KOMMANDO="${KOMMANDO}dele $COUNTER\\n" COUNTER=$(expr $COUNTER + 1 ) done # Der endgültige Befehl braucht noch ein quit am Ende: KOMMANDO="${KOMMANDO}quit" # Debug echo $KOMMANDO # Erneuter Verbindungsaufbau, um die vorhandenen Mails zu löschen. # Gleiches System wie oben. exec 3<> /dev/tcp/pop3server/110 echo -e $KOMMANDO >&3 # Diese Zeile brauchts, sonst hängt das Skript cat <&3 > /dev/null # Und damit ich erfahre, wenn jemand an die Adresse was gemailt hat: logger Es wurden $NACHRICHTEN Nachrichten an username@domain.de geloescht.