ドラッグアンドドロップを使用せずにMail.appメッセージへのリンクをコピーするにはどうすればよいですか?


8

私は日誌をつけており、メールメッセージへのリンクが欲しいのですが、私のメールクライアントはOSX上のMail.appです。ジャーナルプログラム(VoodooPad)へのリンクをドラッグアンドドロップできますが、コピーして貼り付けたいので、message://%3C30533360.1931252053580.bla.bla.blaのようなリンクを作成します。

Mail.appからこの形式のリンクを取得する簡単な方法はありますか?

回答:


9

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

1
これは、ドラッグアンドドロップ機能にヒットとミスがあるOS X Mavericksでも機能します。
Rafael Bugajewski 2013

1

私があなたの質問を正しく解釈した場合、これらのブログ投稿でAppleScriptのバリエーションを使用できます。


そこに行くのが一番だ。ただし、Applescriptで「現在選択されているメールメッセージ」を指定する方法がわかりません。
Lorin Hochstein、

0

あなたがすでに自分で答えた質問への答えではなく、アーカイブについてだけです:

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コマンド内のパイプ文字をエスケープします。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.