Jak skopiować link do wiadomości Mail.app bez przeciągania i upuszczania?

8

Prowadzę dziennik i lubię mieć linki do wiadomości e-mail, moim klientem poczty jest Mail.app na OSX. Mogę przeciągać i upuszczać linki do mojego programu dziennika (VoodooPad), ale naprawdę wolałbym je skopiować i wkleić, więc mam link, który wygląda jak wiadomość: //%3C30533360.1931252053580.bla.bla.bla.

Czy istnieje prosty sposób na uzyskanie linku w tym formacie z Mail.app?

Lorin Hochstein
źródło

Odpowiedzi:

9

Na podstawie odpowiedzi splattne i tego wpisu makosłupków wymyśliłem, jak to zrobić. Teraz wystarczy po prostu użyć czegoś takiego jak Quicksilver FastScripts, aby powiązać go ze skrótem klawiaturowym.

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
Lorin Hochstein
źródło
1
Działa to również w OS X Mavericks, w których funkcja przeciągania i upuszczania wydaje się być hit & miss.
Rafael Bugajewski
1

Jeśli poprawnie interpretuję twoje pytanie, możesz użyć odmiany AppleScript w tych postach na blogu:

splattne
źródło
To prowadzi mnie przez większość drogi. Nie jestem jednak pewien, jak określić „wiadomość e-mail, która jest obecnie wybrana” w Applescript.
Lorin Hochstein,
0

Nie jest to odpowiedź na pytanie, na które już odpowiedziałeś, ale tylko dla archiwów:

Po zapisaniu pliku ze strony internetowej lub wiadomości e-mail można użyć polecenia Uzyskaj informacje w Finderze, aby dowiedzieć się, skąd pochodzi plik . W przypadku załącznika e-mail pokazuje wiadomość Nadawca, Temat i adres URL odnoszący się do tej wiadomości.

Zamiast Get Info można również użyć wiersza polecenia, aby uzyskać informacje:

mdls -name kMDItemWhereFroms <nazwa pliku>

Za pomocą openpolecenia taki adres URL spowoduje, że OS X aktywuje domyślną aplikację, tak jak aktywuje TextEdit dla pliku tekstowego. W przypadku message:adresów URL uruchomiona zostanie aplikacja Mail.app, aby wyświetlić wiadomość (jeśli nadal istnieje).

W połączeniu z niektórymi AppleScript z komentarzy pod linkiem powyżej:

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

Wklej powyższy AppleScript w edytorze skryptów i zapisz go jako aplikację, z opcją Uruchom tylko . Teraz, gdy przeciągniesz dowolny plik do tej aplikacji, źródło zostanie otwarte, jeśli dotyczy. Z pewnością nie jestem ekspertem od AppleScript, a powyższe nie zajmuje się obsługą błędów, po prostu bierze pierwszy plik, gdy wiele plików jest upuszczanych do aplikacji, i nie obsługuje katalogów. Ale chyba wpadł na pomysł.

(The backslashe w http:\\wyżej są zamierzone i nie należy czytać //wyszukuje skrypt dla. http:, https:Lub message:Innymi słowy, oni nie mają być częścią http://, ale razem tworzą zbiegłego odwrotny ukośnik, aby uciec z rury-znakowy w grepkomendzie .)

Arjan
źródło