Kalender

September 2003
MoDiMiDoFrSaSo
1 2 3 4 5 6 7
8 91011121314
15161718192021
22232425262728
2930     
Aug
2003
 Okt
2003

Beschreibung und Script zum direkten Anspringen einer Message aus Mail.app im Browser zur Reklassifizierung in Popfile.

Externe Links

Meine Seiten

Weblogs

Weblogs in der Nähe

Geo-URL

Mein GPG Key

XML-Icon

Zurück zum Seitenanfang

Mit neueren Versionen von Popfile (Mailfilterung) kann man Messages nicht mehr direkt aus der Mail anspringen. Ursache dafür sind vermutlich die Spitzen Klammern, die Popile um die URL setzt.

Bevor ich auf das Script komme, hier ein Hinweis zur Verwendung von Popfile: Ich lasse Popfile den Betreff der Mails nicht ändern sondern nur die Header "X-Text-Classification" und "X-popfile-Link" einfügen. Diese beiden Header lasse ich mir auch anzeigen, so daß ich die URL früher bei falscher Klassifizierung nur anzuklicken brauchte, um sie im Browser neu zu klassifizieren. Seit den neueren Popfile-Versionen muß ich die URL markieren und dann z. B. mit Shift-Apfel-L den Browser öffnen. Bei manchen Messages hängt sich allerdings Mail.app auf, wenn versentlich zu viel markiert wird. Dem soll das Script abhelfen.

Um das Script im Menü im Zugriff zu haben, muß das Apple-Script-Menü in die Menüleiste eingebunden sein. Wer das noch nicht gemacht hat, kann es ganz einfach durch Starten von "Script Menu.menu" im Applescript-Ordner im Programm-Ordner erledigen. Anschließend wird der Scripteditor im gleichen Menü gestartet und das Script unten hineinkopiert. Gespeichert wird das Script z. B. als "Popfile anspringen" im Home-Verzeichnis im Ordner Library/Scripts. Wird das Script mit einer oder mehreren markierten Nachrichten gestartet, so öffnet es für diese Fenster im Standard-Browser zum Reklassifizieren.

Hier das Script:

on run
       set the_list to get_list()
       if the_list is not {} then
               my do_action(the_list)
       else
               display dialog "No messages were selected" buttons "Oops"
       end if
end run
on do_action(the_list)
       tell application "Mail"
               repeat with i from 1 to count items of the_list
                       set headerText to headers of item i of the_list
                       set myHeaders to every paragraph of headerText
                       repeat with theHeader in myHeaders
                               if theHeader starts with "X-POPFile-Link:" then
                                       set start to 0
                                       set theUrl to ""
                                       repeat with theChar in characters of theHeader
                                               if start > 0 then
                                                       if theChar does not contain ">" then
                                                               set theUrl to theUrl & theChar
                                                       end if
                                               else
                                                       if theChar contains "<" then
                                                               set start to 1
                                                       end if
                                               end if
                                       end repeat
                                       my openURL(theUrl)
                               end if
                       end repeat
               end repeat
       end tell
end do_action
on openURL(theUrl)
       tell application "Finder" to open location theUrl
end openURL
on get_list()
       tell application "Mail"
               set retry to false
               try
                       set m_list to get selection
                       set m_list to m_list as list
                       set m to item 1 of m_list
                       if class of m is not message then set retry to true
               on error
                       set retry to true
               end try
               if retry then
                       set retry to false
                       try
                               set m_list to message of window 1 as list
                       on error
                               set retry to true
                       end try
               end if
               if retry then set m_list to {}
       end tell
       return m_list
end get_list

letzte Änderung 2003-09-19 00:53:52

Zurück zum Seitenanfang