Como copiar um link para uma mensagem Mail.app sem usar o recurso de arrastar e soltar?

8

Eu mantenho um diário diário e gosto de ter links para mensagens de email, meu cliente de email é Mail.app no ​​OSX. Posso arrastar e soltar links para o meu programa de diário (VoodooPad), mas prefiro copiá-los e colá-los, por isso tenho um link parecido com a mensagem: //%3C30533360.1931252053580.bla.bla.bla.

Existe uma maneira fácil de obter um link nesse formato no Mail.app?

Lorin Hochstein
fonte

Respostas:

9

Com base na resposta de splattne e nesta entrada do macosxhints, eu descobri como fazê-lo. Agora, é apenas uma questão de usar algo como o Quicksilver do FastScripts para vinculá-lo a um atalho de teclado.

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
fonte
11
Isso também funciona no OS X Mavericks, onde a funcionalidade de arrastar e soltar parece ser um sucesso.
Rafael Bugajewski 26/08
0

Não é uma resposta para a pergunta que você já respondeu, mas apenas para os arquivos:

Depois de salvar um arquivo de um site ou de uma mensagem de email, é possível usar o Get Info no Finder para descobrir de onde veio um arquivo . Para um anexo de email, isso mostra a mensagem Remetente, Assunto e o URL referente a essa mensagem.

Em vez de Obter informações, também é possível usar a linha de comando para obter as informações:

mdls -name kMDItemWhereFroms <nome do arquivo>

Usando o opencomando, esse URL fará o OS X ativar o aplicativo padrão, assim como ativaria o TextEdit para um arquivo de texto. Para message:URLs, o Mail.app será iniciado para mostrar a mensagem (se ainda existir).

Combinado com alguns AppleScript dos comentários no link acima:

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

Cole o AppleScript acima no Editor de scripts e salve-o como um aplicativo, com a opção Executar apenas . Agora, ao arrastar qualquer arquivo para esse aplicativo, a fonte será aberta, se aplicável. Eu certamente não sou um especialista em AppleScript, e o acima não faz nenhum tratamento de erros, ele simplesmente pega o primeiro arquivo quando vários arquivos são soltos no aplicativo e não suporta diretórios. Mas eu entendo a idéia, eu acho.

(As barras invertidas http:\\acima são intencionais e não devem ser lidas //. O script procura http:, https:ou message:. Em outras palavras: elas não devem fazer parte http://, mas juntas formam uma barra invertida escapada, para escapar do caractere de pipe no grepcomando .)

Arjan
fonte