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
