Automator / AppleScript для обработки входящих писем в Mac Mail - PullRequest
3 голосов
/ 30 декабря 2010

Я разрабатываю приложение, которое позволяет пользователям отправлять мне по электронной почте отчеты о сбоях, если мое приложение когда-либо дает сбой. Я хотел бы, чтобы Mac Mail работал на компьютере, и когда приходит электронное письмо, запускается скрипт автоматизации / AppleScript для обработки содержимого основного письма.

Я выполнил весь анализ / обработку скрипта Python, за исключением того, что мне пришлось вручную скопировать содержимое письма в файл и затем запустить мой анализатор для этого файла.

Какой лучший способ настроить это, чтобы я мог вставить содержимое письма в мой скрипт синтаксического анализа?

Большое спасибо!

Ответы [ 3 ]

8 голосов
/ 31 декабря 2010

Вероятно, самый простой подход - определить правило Mail.app. Вы можете настроить условия фильтрации, чтобы указать набор входящей электронной почты, к которому применяется правило, и среди действий, которые вы можете указать, - запуск AppleScript для входящих сообщений. Правила управляются с помощью Mail.app Preferences -> Rules. Apple предоставляет примеры сценариев Rule Action для Mac OS X. Посмотрите в /Library/Scripts/Mail Scripts/Rule Actions или поищите в Интернете.

2 голосов
/ 31 декабря 2010

Вот сценарий, который извлекает из электронной почты в файл с использованием почтового правила: MacScripter / Mail правило для экспорта сообщений. Может пригодиться для примера кода для того, что вы делаете.

1 голос
/ 31 декабря 2010

Используйте словарь в редакторе Applescript, чтобы просмотреть свойства почты, и вы быстро сможете увидеть свойства любого почтового сообщения. Вот быстрый и грязный пример получения содержимого почтового сообщения.

tell application "Mail"
    set the_messages to selection
    repeat with this_message in the_messages
        set mytext to content of this_message
    end repeat
end tell

Измените скрипт, указанный выше, который копирует вывод во временный файл, а затем передайте этот файл вашему скрипту Python для продолжения.

...