私は日誌をつけており、メールメッセージへのリンクが欲しいのですが、私のメールクライアントはOSX上のMail.appです。ジャーナルプログラム(VoodooPad)へのリンクをドラッグアンドドロップできますが、コピーして貼り付けたいので、message://%3C30533360.1931252053580.bla.bla.blaのようなリンクを作成します。
Mail.appからこの形式のリンクを取得する簡単な方法はありますか?
私は日誌をつけており、メールメッセージへのリンクが欲しいのですが、私のメールクライアントはOSX上のMail.appです。ジャーナルプログラム(VoodooPad)へのリンクをドラッグアンドドロップできますが、コピーして貼り付けたいので、message://%3C30533360.1931252053580.bla.bla.blaのようなリンクを作成します。
Mail.appからこの形式のリンクを取得する簡単な方法はありますか?
回答:
splattneの応答とこのmacosxhintsエントリに基づいて、その方法を理解しました。今では、FastScriptのQuicksilverのようなものを使用して、キーボードショートカットにバインドするだけです。
tell application "Mail"
set selectedMessages to selection
set theMessage to item 1 of selectedMessages
set messageid to message id of theMessage
-- Make URL (must use URL-encoded values for "<" and ">")
set urlText to "message://" & "%3c" & messageid & "%3e"
set the clipboard to (urlText)
end tell
私があなたの質問を正しく解釈した場合、これらのブログ投稿でAppleScriptのバリエーションを使用できます。
あなたがすでに自分で答えた質問への答えではなく、アーカイブについてだけです:
Webサイトまたは電子メールメッセージからファイルを保存した後、Finderの[情報を見る]を使用して、ファイルの送信元を見つけることができます。電子メールの添付ファイルの場合、送信者、件名、およびそのメッセージを参照するURLが表示されます。
Get Infoの代わりに、コマンドラインを使用して情報を取得することもできます。
mdls -name kMDItemWhereFroms <ファイル名>
このopen
ようなURL のコマンドを使用すると、テキストファイルのTextEditをアクティブにするのと同じように、OS Xがデフォルトのアプリケーションをアクティブにします。以下のためにmessage:
(それがまだ存在している場合)のURL、Mail.appは、メッセージを表示するために起動されます。
上記のリンクのコメントからいくつかのAppleScriptと組み合わせる:
on open these_items
set first_item to item 1 of these_items
set full_path to quoted form of POSIX path of first_item
set cmd to ¬
"/usr/bin/mdls -name kMDItemWhereFroms " & ¬
full_path & " | grep 'http:\\|https:\\|message:' | xargs open"
do shell script cmd
end open
上記のAppleScriptをスクリプトエディターに貼り付け、[ 実行のみ ]オプションを使用してアプリケーションとして保存します。これで、ファイルをそのアプリケーションにドラッグすると、該当する場合はソースが開きます。私は確かにAppleScriptの専門家ではありません。上記はエラー処理を行わず、複数のファイルがアプリケーションにドロップされたときに最初のファイルを取得するだけで、ディレクトリをサポートしていません。しかし、そのアイデアは理解できると思います。
(上記のバックスラッシュhttp:\\
は意図的なものであり、を読むべきではありません//
。スクリプトはhttp:
、https:
またはを検索します。message:
つまり、は、の一部となることを意図していませんhttp://
が、一緒にエスケープされたバックスラッシュを形成して、grep
コマンド内のパイプ文字をエスケープします。)