Как скопировать ссылку на сообщение Mail.app без перетаскивания?

2866
Lorin Hochstein

Я веду ежедневный журнал, и мне нравятся ссылки на электронные письма, мой почтовый клиент - Mail.app в OSX. Я могу перетаскивать ссылки на мою программу журнала (VoodooPad), но я бы действительно предпочел скопировать и вставить их, поэтому у меня есть ссылка, которая выглядит как сообщение: //%3C30533360.1931252053580.bla.bla.bla.

Есть ли простой способ получить ссылку в этом формате из Mail.app?

8

3 ответа на вопрос

9
Lorin Hochstein

Основываясь на ответе splattne и этой записи macosxhints, я понял, как это сделать. Теперь нужно просто использовать что-то вроде Quicksilver из FastScripts, чтобы привязать его к сочетанию клавиш.

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 
Это также работает в OS X Mavericks, где функциональность перетаскивания, кажется, поражает. Rafael Bugajewski 11 лет назад 1
1
splattne

Если я правильно интерпретирую ваш вопрос, вы можете использовать вариант AppleScript в следующих сообщениях в блоге:

Это дает мне большую часть пути туда. Тем не менее, я не уверен, как указать «почтовое сообщение, которое в настоящее время выбрано» в Applescript. Lorin Hochstein 15 лет назад 0
0
Arjan

Не ответ на вопрос, на который вы уже ответили сами, а только для архивов:

После того, как вы сохранили файл с веб-сайта или по электронной почте, вы можете использовать Get Info в Finder, чтобы найти источник файла . Для вложения электронной почты это показывает отправителя сообщения, тему и URL, ссылающийся на это сообщение.

Вместо получения информации можно также использовать командную строку для получения информации:

mdls -name kMDItemWhereFroms <имя файла>

При использовании openкоманды такой URL заставит OS X активировать приложение по умолчанию, как если бы он активировал TextEdit для текстового файла. Для 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 в Редакторе сценариев и сохраните его как Приложение, с опцией Run Only . Теперь при перетаскивании любого файла в это приложение будет открыт источник, если это применимо. Я, конечно, не эксперт по AppleScript, и вышеизложенное не делает никакой обработки ошибок, оно просто берет первый файл, когда в приложение помещается несколько файлов, и не поддерживает каталоги. Но у меня возникает идея, я думаю.

(В слеше http:\\выше является преднамеренным, и не должен читать //. Скрипт ищет http:, https:или message:Другие слова, они не предназначены, чтобы быть частью http://, но вместе образует сбежавшую обратный косую черту, чтобы избежать труб-символ в grepкоманде .)