Bookmarklet für Mailman Admins: Discard All

Spam-Mails sind ein großes Problem für viele Internetbenutzer/innen. Leider bleiben auch Mailinglisten nicht von Spam verschont. Da ich mehrere Mailinglisten mit der Software GNU Mailing List Manager, kurz Mailman, betreibe, bin ich täglich damit beschäftigt die Spam-Mails, die wegen der unbekannten Absender im Mailman-Filter hängen bleiben, zu löschen.
Das bedeutet täglich ein duzend mal im Mailman-Interface die ungewünschten Mails als discard zu kennzeichnen - nervig und zeitaufwendig.
Um mir das Leben zu erleichtern habe ich ein kleines Bookmarklet geschrieben, dass mir automatische eine Liste aller Absender erstellt und diese bei Bedarf mit einem Mausklick automatisch löscht, bzw. auf discard setzt.

Um die Funktion nutzen zu können, muss nur der folgende Link kopiert und als Bookmark im eigenen Browser abgelegt werden: Mailman-Discard-All-Bookmarklet
(rechte Maustaste und "Link kopieren")

Javascript Confirm-Dialog


Der entsprechende Javascript-Code sieht so aus:

function getSenders(){
    td = document.getElementsByTagName("td");
    sender = new Array();
    for(i=0;i<td.length;i++){
        if(String(td[i].firstChild.nodeValue).match(
/([a-zA-Z0-9._-]+@[a-zA-Z0-9._-]+
\.[a-zA-Z0-9._-]+)/gi)){
            sender.push(td[i].firstChild.nodeValue);
        }
    }
    return sender;
}

function discardAll(){
    radiobuttons = document.getElementsByTagName("input"); 
    for(i=0;i<radiobuttons.length;i++){
        if(radiobuttons[i].value==3 && radiobuttons[i].type=="radio"){
             radiobuttons[i].checked = true;
        }
    }
}
discardAll();
if(confirm(getSenders().join("\n") + "\n" + 
"All mails of the above listed senders will be deleted."))){
    submitbuttons = document.getElementsByName("submit");
    submitbuttons[0].click();
}
Kategorie: