Así que mail.app tiene este maravilloso message: // esquema de URL, que funciona muy bien, hasta que se mueva el mensaje . Entonces los enlaces creados a veces funcionan, y otras veces no. No puedo entender la diferencia. Así que mi pregunta es doble:
- ¿Hay alguna forma de acceder a los mensajes a través de una URL incluso cuando se hayan mudado?
- Si no, ¿cómo muevo un mensaje y luego obtengo su ID de mensaje?
Mi script actual es
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