2010-12-30 34 views
3

私のアプリがクラッシュした場合にユーザーがクラッシュレポートを電子メールで送信できるようにするアプリを設計しています。私はMac Mailをコンピュータ上で動作させたままにしておきたいと思います。電子メールが届くと、Automatorスクリプト/ AppleScriptが実行され、電子メールの本文の内容が処理されます。Macメールで受信メールを処理するAutomator/AppleScript

電子メールの内容をファイルに手動でコピーしてから、そのファイルに対してパーサーを実行する必要がある以外は、すべての解析/処理がPythonスクリプトで処理されています。

これを設定するにはどうすればよいですか?電子メールの内容を解析スクリプトにプッシュできますか?

多くの感謝!

答えて

8

おそらく最も簡単な方法は、Mail.appルールを定義することです。ルールを適用する受信メールのセットを指定するフィルタリング条件を設定できます。指定できるルールアクションには、受信メッセージに対してAppleScriptを実行するルールアクションがあります。ルールはMail.app Preferences - >Rulesで管理されます。 AppleはMac OS Xでルールアクションスクリプトの例を提供しています。/Library/Scripts/Mail Scripts/Rule Actionsを参照するか、Webを検索してください。

+0

Cool。私はそれをセットアップしているが、つまみを打った。 AppleScriptでメッセージの本文を抽出するにはどうすればよいですか?私は、メッセージのtheMessagesを使ってメールアクションを実行する際に、ループ内のMessageから検索することができますが、theMessagesのパラメータに関するドキュメントを見つけることはできないようです。 – Mark

+0

AppleScript Editor.app(OS X 10.6で変更された名前)は、そのようなもののあなたの友人です。 Mail.appのスクリプト辞書を開くには、Open Directoryメニューコマンドを使用します。その中には、 'content'のようなプロパティと' mail添付ファイル 'のような要素を含む 'message'クラスのエントリがあります。 –

+0

Ned - ちょうどそれにつまずいた!いい物! – Mark

1

Applescript Editorの辞書を使用してメールのプロパティを確認すると、メールメッセージのプロパティをすばやく確認できます。ここでは、メールメッセージの内容を取得するためのすばやく汚れた例があります。

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スクリプトに渡して動作させるスクリプトを修正します。

関連する問題