Absender einer eMail mit Applescript zu den geblockten Kontakten in Mail.app hinzufügen

L

Loysl61

Mitglied
Thread Starter
Dabei seit
10.10.2022
Beiträge
1
Reaktionspunkte
0
Hallo zusammen,

ich habe mir ein Script gebaut, dass aktuell folgende Aktionen ausführt:
- letzte Nachricht im SPAM-Ordner selektieren
- Absenderdaten (Vorname, Name und eMailadresse) in die Gruppe "SPAM" in meinen Kontakten hinzufügen bzw. bei existierendem Kontakt nur neue eMailadresse anhängen
- Nachricht ungelesen in den Gelöscht-Ordner verschieben
- Status der Nachricht im Gelöscht-Ordner auf "gelesen" setzen
- Schleife bis die letzte Nachricht im SPAM-Ordner verarbeitet wurde.

Gerne möchte ich die aus den Absenderdaten extrahierte eMailadresse auch in Mail unter den geblockten Kontakten ergänzen.
Dadurch kann ich direkt erkennen, welche SPAM-Nachricht mit einer neuen, bisher unbekannten eMailadresse reingekommen ist.
Alle anderen sind dann mit dem "Blocked"-Symbol versehen.

Weder bei meiner Webrecherche noch hier im Forum habe ich dazu einen Hinweis gefunden.
Ich vermute, dass es irgendwo in den Tiefen des Systems eine Liste gibt, in welcher diese Einträge verwaltet werden.
Im einfachsten Fall kann ich einen neuen Eintrag einfach an das Ende der Liste anhängen.

Deshalb meine Frage an die Spezialisten im Forum:
Hat jemand so eine Funktion schon mal mit Applescript erfolgreich umgesetzt?
Weiß jemand, wo MAIL.app die Liste der blockierten Kontakte ablegt und wie diese heißt?

Vielen Dank vorab und beste Grüße
Loysl
 
Nicht, daß ich dein Programmiereifer dämfen möchte, aber… was versuchst du damit zu bewirken? Spambekämpfung solltest du genau einer Instanz überlassen und zwar idealerweise dem Spam-Filter des Servers. Oder falls der nicht taugt, eine SW wie SpamSieve.

Wenn du Mail-Client-Seitig eine Blockierliste pflegst hast du zumindest mal folgende Probleme:
  • die Mails werden so auf jeden Fall erstmal vom Server angenommen und auf alle Clients synchronisiert, die nicht diesen Filter betreibt. Bis dieser sie entfernt, ist dein Smartphone schon mit diesen Mails "voll".
  • Wenn du nach Mailadressen deinen Blockierfilter betreibst, wirst du feststellen, daß dieser sehr schnell sehr groß werden kann, da Spammer die Mailadressen sehr schnell durchrotieren.
Als Fingerübung zum Programmieren sicherlich gut, aber zur Spambekämpfung eher nicht. :)
 
  • Gefällt mir
Reaktionen: dg2rbf
Deshalb meine Frage an die Spezialisten im Forum:
Hat jemand so eine Funktion schon mal mit Applescript erfolgreich umgesetzt?
Weiß jemand, wo MAIL.app die Liste der blockierten Kontakte ablegt und wie diese heißt?
Guck mal in das Applescript Wörterbuch der Kontakte oder Nachrichten App.

Abgesehen davon ist Spam blocken aufgrund von Absendern eher sinnbefreit, da diese ja frei wählbar sind.
 
  • Gefällt mir
Reaktionen: dg2rbf
Ich habe ein Script das über die Dienste eine Adresse einem Filter übergeben kann.
Code:
tell application "Mail"
    try
        set selc to selection
        set {domain, ruleList} to {extract address from sender of item 1 of selc, name of rules}
    on error number errstrg
        display alert "No mail selected." message errstrg as critical
        return
    end try
    repeat with x in ruleList
        if domain is in expression of rule condition of rule x then
            if button returned of (display alert quoted form of x & " already contains " & domain message "Remove " & quoted form of domain & " from " & x & "?" buttons {"Cancel", "OK"} default button 1 as critical) = "OK" then
                tell rule x to delete (rule conditions whose expression is domain)
                try
                    display notification with title domain subtitle "removed from Mails " & x
                on error
                    display alert domain message "removed from Mails " & x
                end try
            else
                return
            end if
        end if
    end repeat
    set mRule to (choose from list ruleList with title "Mail rule for " & domain with prompt "Add " & quoted form of domain & " to:") as string
    if mRule = "false" then return
    tell rule mRule to make new rule condition at end of rule conditions with properties {expression:domain, qualifier:equal to value}
end tell
try
    display notification with title domain subtitle "added to Mails " & quoted form of mRule
on error
    display alert domain message "added to Mails " & quoted form of mRule
end try

Einzusetzen:
A 2022-10-11 um 10.16.08.jpg
 
Zurück
Oben Unten