Jeder der schon einmal Apple Mail via AppleScript geskriptet hat (ein wohl ehr überschaubarer Personenkreis), hatte vielleicht schon einmal ein Problem mit outgoing messages (noch überschaubarer). Eine neue Nachricht ist irgendwie anders als eine bereits gespeicherte. Man kann zwar Adressen, Betreff und Signatur hinzufügen, aber schon bei der Auswahl des Absende-Accounts stößt man bei Apple Mail auf eine Logik-Blase die sofort zerplatzt. Es geht einfach nicht und kommt man dann noch auf die abwegige Idee den Email-Text einer gerade geschrieben Nachricht auslesen zu wollen, merkt man erst einmal wie schlecht Apple Mail und wie gut Microsoft Entourage zu skripten ist. Lage rede kurzer Sinn, alles was auf der Platte gespeichert ist (in Form einer EMLX-Datei), ist wunderbar auszuwerten, da aber Nachrichten, die gerade erst geschrieben werden noch nicht gespeichert sind, ist der Zugriff auf Informationen wie Inhalt, Absender, Attachments-Namen, etc. bei solchen noch nicht möglich. Deshalb hier ein Beispiel für einen Work-Around, der die gerade geschrieben Nachricht als Entwurf abspeichert, diese Datei dann auswertet und einem die Namen der Attachments in den Mailtext einfügt. So etwas dürfte bei normalen POP-Accounts recht gut funktionieren, bei IMAP eher weniger, da der Entwurf erst auf den Server hochgeladen, anschließend wieder heruntergeladen wird und dann erst zur Verfügung steht.
-- Nachricht als Entwurf speichern
tell application "Mail" to activate
tell application "System Events"
tell process "Mail"
keystroke "s" using command down
set messagename to name of window 1
end tell
end tell
delay 2
--Entwurfs-Maibox nach der neuesten Nachricht durchsuchen, die den passenden Betreff trägt
--Anschließend die Namen der Anhänge auslesen
tell application "Mail"
set found to (every message of drafts mailbox whose (subject is messagename))
set theid to 0
repeat with f in found
if id of f > theid then
set theid to id of f
end if
end repeat
set mymessage to item 1 of (every message of drafts mailbox whose (id is theid))
set attachmentnames to name of every mail attachment of mymessage
set AppleScript's text item delimiters to return
set attachmentnames to attachmentnames as text
set AppleScript's text item delimiters to ""
set the clipboard to attachmentnames
end tell
--Namen in die Zwischenablage und an der aktuellen Cursor-Position einfügen
tell application "Mail" to activate
tell application "System Events"
tell process "Mail"
keystroke "v" using command down
end tell
end tell
One Comment
This is a great post. you got cheap shoes online .I like cheap designer shoes as well give you designer shoes outlet