Ein AppleScript um alte E-Mails zu verschieben oder zu löschen

Dienstag, 02 August 2005
0.0/5 Bewertung (0 Stimmen)
Beschreibung

Dieses [url=applescript://com.apple.scripteditor/?action=new&script=set%20ExcludeList%20to%20%7B%22Keep%22,%20%22Trash%22,%20%22Sent%20Messages%22,%20%22Drafts%22,%20%22Deleted%20Messages%22,%20%22Archiv%22%7D%20--%20mailboxes%20you%20don”t%20want%20to%20search%0Aset%20DestinFolderName%20to%20%22Archiv%22%20--%20Postfach%20in%20das%20verschoben%20wird,%20soll%20nur%20geloescht%20werden%20koennen%20Sie%20es%20leer%20lassen%20%22%22.%0Aset%20StaleTime%20to%20460%20--%20so%20viel%20Tage%20alt%20muss%20das%20E-Mail%20sein,%20damit%20es%20verschoben%20oder%20geloescht%20wird.%20(Zahl%20%3D%20Tage)%0Aset%20ShowMailboxesProgress%20to%20true%20--%20true(Ja)%20fuer%20die%20Anzeige%20fuer%20jedes%20Postfach,%20false(Nein)%20wenn%20Sie%20das%20nicht%20wollen.%0A%0Atell%20application%20%22Mail%22%0A%09if%20not%20ShowMailboxesProgress%20then%0A%09%09display%20dialog%20%22Ausfuehren%20in%20folgenden%20Postfaecher%20”%22%20%26%20ExcludeList%20%26%20%22”%20fuer%20E-Mails%20die%20aelter%20als%20”%22%20%26%20StaleTime%20%26%20%22”%20Tage%20sind.%22%0A%09end%20if%0A%09set%20everyAccount%20to%20every%20account%0A%09%0A%09--%20Get%20acount-specific%20mailboxes%0A%09repeat%20with%20eachAccount%20in%20everyAccount%0A%09%09set%20everyMailbox%20to%20every%20mailbox%20of%20eachAccount%0A%09%09set%20accountName%20to%20the%20name%20of%20eachAccount%0A%09%09repeat%20with%20theMailbox%20in%20everyMailbox%0A%09%09%09set%20currentMailbox%20to%20theMailbox%0A%09%09%09set%20mailboxName%20to%20the%20name%20of%20currentMailbox%0A%09%09%09if%20mailboxName%20is%20not%20in%20ExcludeList%20then%0A%09%09%09%09if%20ShowMailboxesProgress%20then%0A%09%09%09%09%09display%20dialog%20%22Anwenden%20auf%20Ordner%20”%22%20%26%20mailboxName%20%26%20%22”%20im%20Account%20%22%20%26%20accountName%20%26%20%22”%22%0A%09%09%09%09end%20if%0A%09%09%09%09try%0A%09%09%09%09%09set%20messages_list%20to%20every%20message%20of%20mailbox%20mailboxName%0A%09%09%09%09%09repeat%20with%20i%20from%201%20to%20number%20of%20items%20in%20messages_list%0A%09%09%09%09%09%09set%20theMessage%20to%20item%20i%20of%20messages_list%0A%09%09%09%09%09%09set%20difference%20to%20((current%20date)%20-%20(date%20sent%20of%20theMessage))%20div%20days%0A%09%09%09%09%09%09if%20difference%20is%20greater%20than%20StaleTime%20then%0A%09%09%09%09%09%09%09if%20DestinFolderName%20is%20not%20equal%20to%20%22%22%20then%0A%09%09%09%09%09%09%09%09move%20theMessage%20to%20mailbox%20DestinFolderName%0A%09%09%09%09%09%09%09else%0A%09%09%09%09%09%09%09%09delete%20theMessage%0A%09%09%09%09%09%09%09end%20if%0A%09%09%09%09%09%09end%20if%0A%09%09%09%09%09end%20repeat%0A%09%09%09%09end%20try%0A%09%09%09end%20if%0A%09%09end%20repeat%0A%09end%20repeat%0A%09%0A%09--%20Get%20global%20mailboxes%0A%09repeat%20with%20theMailbox%20in%20every%20mailbox%0A%09%09set%20currentMailbox%20to%20theMailbox%0A%09%09set%20mailboxName%20to%20the%20name%20of%20currentMailbox%0A%09%09if%20mailboxName%20is%20not%20in%20ExcludeList%20then%0A%09%09%09if%20ShowMailboxesProgress%20then%0A%09%09%09%09display%20dialog%20%22Anwenden%20auf%20Ordner%20”%22%20%26%20mailboxName%20%26%20%22”%22%0A%09%09%09end%20if%0A%09%09%09try%0A%09%09%09%09set%20messages_list%20to%20every%20message%20of%20mailbox%20mailboxName%0A%09%09%09%09repeat%20with%20i%20from%201%20to%20number%20of%20items%20in%20messages_list%0A%09%09%09%09%09set%20theMessage%20to%20item%20i%20of%20messages_list%0A%09%09%09%09%09set%20s%20to%20the%20subject%20of%20theMessage%0A%09%09%09%09%09set%20difference%20to%20((current%20date)%20-%20(date%20sent%20of%20theMessage))%20div%20days%0A%09%09%09%09%09if%20difference%20is%20greater%20than%20StaleTime%20then%0A%09%09%09%09%09%09if%20DestinFolderName%20is%20not%20equal%20to%20%22%22%20then%0A%09%09%09%09%09%09%09move%20theMessage%20to%20mailbox%20DestinFolderName%0A%09%09%09%09%09%09else%0A%09%09%09%09%09%09%09delete%20theMessage%0A%09%09%09%09%09%09end%20if%0A%09%09%09%09%09end%20if%0A%09%09%09%09end%20repeat%0A%09%09%09end%20try%0A%09%09end%20if%0A%09end%20repeat%0A%09%0A%09display%20dialog%20%22Fertig!%22%0Aend%20tell]AppleScript[/url] verschiebt oder löscht E-Mails, die älter sind als die anzugebende Anzahl Tage. Sie können die genauen Einstellungen anpassen, indem Sie im Skriptkopf die entsprechenden Parameter ändern. Das Skript verschiebt E-Mails, die älter als 160 Tage sind, in ein von mir erstelltes Postfach namens ”Archiv” und zeigt für jedes betroffene Postfach eine Meldung an.
Vergeblich suchte ich nach einer Möglichkeit, einen Fortschrittsbalken anzeigen zu lassen, ohne ein PlugIn dafür benutzen zu müssen.
[GöGG-ArT: Ich habe diesen Hint getestet (10.4.1) und er funktioniert. Zusätzlich habe ich das Skript so angepasst, dass die Postfächer anzugeben sind, die durchsucht werden müssen, und nicht etwa jene, die nicht durchsucht werden sollen (da ich unzählige selbsterstellte Postfächer nutze).
In Mail habe ich ein Postfach ”Spamerei” erstellt, in das ich (mit Regeln) unerwünschte E-Mails verschiebe. In meinem [url=applescript://com.apple.scripteditor/?action=new&script=set%20IncludeList%20to%20%7B%22Spamerei%22%7D%20--%20Postfaecher%20die%20durchsucht%20werden%20sollen.%20Weitere%20Ordner%20koennen%20eingetragen%20werden%20in%20form%20%22Ordner%22,%20%22Ordner1%22%20zwischen%20den%20%7B%7D%0Aset%20DestinFolderName%20to%20%22%22%20--%20Postfach%20in%20das%20verschoben%20wird,%20soll%20nur%20geloescht%20werden%20koennen%20Sie%20es%20leer%20lassen%20%22%22.%0Aset%20StaleTime%20to%202%20--%20so%20viel%20Tage%20alt%20muss%20das%20E-Mail%20sein,%20damit%20es%20verschoben%20oder%20geloescht%20wird.%20(Zahl%20%3D%20Tage)%0Aset%20ShowMailboxesProgress%20to%20false%20--%20true(Ja)%20fuer%20die%20Anzeige%20fuer%20jedes%20Postfach,%20false(Nein)%20wenn%20Sie%20das%20nicht%20wollen.%0A%0Atell%20application%20%22Mail%22%0A%09if%20not%20ShowMailboxesProgress%20then%0A%09%09display%20dialog%20%22Aufuehren%20in%20folgenden%20Postfaecher%20”%22%20%26%20IncludeList%20%26%20%22”%20fuer%20E-Mails%20die%20aelter%20als%20”%22%20%26%20StaleTime%20%26%20%22”%20Tage%20sind.%22%0A%09end%20if%0A%09set%20everyAccount%20to%20every%20account%0A%09%0A%09--%20Bearbeiten%20von%20Account-Spezifischen%20Postfaecher%0A%09repeat%20with%20eachAccount%20in%20everyAccount%0A%09%09set%20everyMailbox%20to%20every%20mailbox%20of%20eachAccount%0A%09%09set%20accountName%20to%20the%20name%20of%20eachAccount%0A%09%09repeat%20with%20theMailbox%20in%20everyMailbox%0A%09%09%09set%20currentMailbox%20to%20theMailbox%0A%09%09%09set%20mailboxName%20to%20the%20name%20of%20currentMailbox%0A%09%09%09if%20mailboxName%20is%20in%20IncludeList%20then%0A%09%09%09%09if%20ShowMailboxesProgress%20then%0A%09%09%09%09%09display%20dialog%20%22Anwenden%20auf%20Ordner%20”%22%20%26%20mailboxName%20%26%20%22”%20im%20Account%20”%22%20%26%20accountName%20%26%20%22”%22%0A%09%09%09%09end%20if%0A%09%09%09%09try%0A%09%09%09%09%09set%20messages_list%20to%20every%20message%20of%20mailbox%20mailboxName%0A%09%09%09%09%09repeat%20with%20i%20from%201%20to%20number%20of%20items%20in%20messages_list%0A%09%09%09%09%09%09set%20theMessage%20to%20item%20i%20of%20messages_list%0A%09%09%09%09%09%09set%20difference%20to%20((current%20date)%20-%20(date%20sent%20of%20theMessage))%20div%20days%0A%09%09%09%09%09%09if%20difference%20is%20greater%20than%20StaleTime%20then%0A%09%09%09%09%09%09%09if%20DestinFolderName%20is%20not%20equal%20to%20%22%22%20then%0A%09%09%09%09%09%09%09%09move%20theMessage%20to%20mailbox%20DestinFolderName%0A%09%09%09%09%09%09%09else%0A%09%09%09%09%09%09%09%09delete%20theMessage%0A%09%09%09%09%09%09%09end%20if%0A%09%09%09%09%09%09end%20if%0A%09%09%09%09%09end%20repeat%0A%09%09%09%09end%20try%0A%09%09%09end%20if%0A%09%09end%20repeat%0A%09end%20repeat%0A%09%0A%09--%20Bearbeiten%20von%20Allgemeinen%20Postfaecher%0A%09repeat%20with%20theMailbox%20in%20every%20mailbox%0A%09%09set%20currentMailbox%20to%20theMailbox%0A%09%09set%20mailboxName%20to%20the%20name%20of%20currentMailbox%0A%09%09if%20mailboxName%20is%20in%20IncludeList%20then%0A%09%09%09if%20ShowMailboxesProgress%20then%0A%09%09%09%09display%20dialog%20%22Anwenden%20auf%20Ordner%20”%22%20%26%20mailboxName%20%26%20%22”%22%0A%09%09%09end%20if%0A%09%09%09try%0A%09%09%09%09set%20messages_list%20to%20every%20message%20of%20mailbox%20mailboxName%0A%09%09%09%09repeat%20with%20i%20from%201%20to%20number%20of%20items%20in%20messages_list%0A%09%09%09%09%09set%20theMessage%20to%20item%20i%20of%20messages_list%0A%09%09%09%09%09set%20s%20to%20the%20subject%20of%20theMessage%0A%09%09%09%09%09set%20difference%20to%20((current%20date)%20-%20(date%20sent%20of%20theMessage))%20div%20days%0A%09%09%09%09%09if%20difference%20is%20greater%20than%20StaleTime%20then%0A%09%09%09%09%09%09if%20DestinFolderName%20is%20not%20equal%20to%20%22%22%20then%0A%09%09%09%09%09%09%09move%20theMessage%20to%20mailbox%20DestinFolderName%0A%09%09%09%09%09%09else%0A%09%09%09%09%09%09%09delete%20theMessage%0A%09%09%09%09%09%09end%20if%0A%09%09%09%09%09end%20if%0A%09%09%09%09end%20repeat%0A%09%09%09end%20try%0A%09%09end%20if%0A%09end%20repeat%0A%09%0A%09display%20dialog%20%22Fertig!%22%0Aend%20tell]abgeänderten AppleScript[/url] habe ich die folgenden Anpassungen vorgenommen:
set IncludeList to {”Spamerei”}
Damit wird der Ordner ”Spamerei” durchsucht.
set DestinFolderName to ””
Die Mails werden so direkt gelöscht und nicht verschoben.
set StaleTime to 2
Die Mails müssen 2 Tage alt sein.
set ShowMailboxesProgress to false
Keine Meldungen zu den bearbeiteten Postfächern.
Um das Script zu benutzen, müssen Sie den Text kopieren, in ein neues AppleScript einfügen, bei Bedarf anpassen und danach im Ordner ~/Library/Scripts/Mail ablegen. Mit dem Programm ”AppleScript Dienstprogramm” (im Ordner /Programme/AppleScript)
können Sie das Scriptmenü in der Menüleiste anzeigen und so schnell auf Ihre Skripts zugreifen.]

Spezifikationen

Hits

903

© by macjaner.ch | Powered by GoeGG-ArT.ch