Таким образом, mail.app имеет этот замечательный сообщение:// Схема URL, которая прекрасно работает - пока сообщение не будет перемещено. Тогда созданные ссылки иногда работают, а иногда нет. Я не могу понять разницу. Итак, мой вопрос состоит из двух частей:
- Есть ли способ получить доступ к сообщениям через URL, даже если они были перемещены?
- Если нет, как я могу переместить сообщение и затем получить идентификатор сообщения?
Мой текущий сценарий
tell application "Mail"
set theSelectedMessages to selection
set the selected_message to item 1 of the theSelectedMessages
set message_id to the message id of the selected_message
set message_subject to the subject of the selected_message
end tell
set myPrompt to display dialog "Create New To Do in BusyCal" default answer message_subject
set response to the text returned of myPrompt
set quick_entry to encode(response & " " & month of (current date) & day of (current date) & "!!!" & " <message:<" & message_id & ">>") -- see encode handler below
tell application "BusyCal"
activate
open location "busycalevent://new/-" & quick_entry
end tell
tell application "Mail"
move the selected_message to mailbox "Calendar" of mailbox " To-Do" of account "Calion"
end tell
--encode handler
on encode(msg)
set theText to do shell script "/usr/bin/python -c 'import sys, urllib; print urllib.quote(sys.argv[1])' " & quoted form of msg
set AppleScript's text item delimiters to "/"
set theTextItems to text items of theText
set AppleScript's text item delimiters to "%2F"
set theText to theTextItems as string
set AppleScript's text item delimiters to {""}
return theText
end encode