Это очень убедительно, если мы сделаем два достаточно слабых предположения: сообщение, над которым вы работаете, является главным, и тема всех черновиков сообщений уникальна. Затем, перед запуском скрипта, сохраните сообщение, над которым вы работаете; это поместит его в почтовый ящик черновиков. Тогда, поскольку тема сообщения - это имя окна, мы можем легко получить к нему доступ; и так как мы можем легко получить доступ к черновому почтовому ящику, мы можем объединить их. Это дает нам:
tell application "Mail"
set msgs to messages of drafts mailbox ¬
whose subject is (name of window 1 as string)
if (count of msgs) = 1 then
-- Do whatever
else
-- Error, disambiguate, whatever
end if
end tell
Вероятно, можно заставить скрипт сохранить самое переднее окно, и меня не удивит, если только что сохраненное сообщение всегда будет первым элементом почтового ящика черновиков, но это оставлено в качестве упражнения для читателя: - )