• 締切済み

AppleScrpt 添付pathを取得したい

AppleScrptで以下の方法をしたいのですが メールの添付処理について、 受信したメールで 1、添付を指定したフォルダへ保存したい。 2、添付書類のpathをテキスト書類に書き込みたい。 どなたかご存知の方がおりましたら教えてください。

みんなの回答

  • ki073
  • ベストアンサー率77% (491/634)
回答No.3

いろいろ試していたら、 例えば、 tell application "Mail" save (mail attachment of first message in inbox of first message viewer where id = 152026) in POSIX file "/Users/xxx/Downloads/bbb.pdf" end tell のように指定すると、/Users/xxx/Downloads/bbb.pdfとして保存できます。

  • ki073
  • ベストアンサー率77% (491/634)
回答No.2

No.1は10.9ではそのままでは無理そうですね。 10.9でも調べてみましたが、 ~/Library/Mail の中身を見ると、message idが分かると添付ファイルが特定できます。 例えば、message id が152026の場合には ~/Library/Mail/省略/INBOX.mbox/省略/Data/2/5/1/Attachments/152026 のフォルダに入っています。/2/5/1/はidの上位三桁が逆になっているだけです。 メッセージidが特定できたときには tell application "Mail" activate mail attachment of first message in inbox of first message viewer where id = 152026 end tell で添付ファイルのidが読めますので、パスが特定できます。 idではなく、message自体が分かるはずでしょうから mail attachment of xxxxx で大丈夫だと思います。 それと activate がないと、 message viewerでエラーがでることがあるようです。 mailboxで特定できれば、activateは必要ないようです。 いずれにしてもちょっと手間がかかりそうです。

  • ki073
  • ベストアンサー率77% (491/634)
回答No.1

OSのバージョンは? 直接パスを知ることはできないようです。 10.6では tell application "Mail" set msg to first message in inbox of first message viewer where mail attachment of it is not {} mail attachment of msg end で message idとattachment id が分かります。~/Library/Mailの中を探すと、該当するidのファイルが見つかりますので、パスを求めることは簡単にできます。 10.9はずいぶん様子が違うようです。 とりあえずは、10.6の方法を

vvvsuro
質問者

補足

ご回答ありがとうございます。 私のは10.9のシステムですので 結果: error "Mail でエラーが起きました:{} のタイプを mail attachment に変換できません。" number -1700 from {} to mail attachment というのがでました。 難しいですね。><

関連するQ&A