Comment copier un lien vers un message Mail.app sans utiliser le glisser-déposer?

8

Je tiens un journal quotidien et j'aime avoir des liens vers des e-mails, mon client de messagerie est Mail.app sur OSX. Je peux glisser-déposer des liens vers mon programme de journal (VoodooPad), mais je préférerais vraiment les copier-coller, j'ai donc un lien qui ressemble à un message: //%3C30533360.1931252053580.bla.bla.bla.

Existe-t-il un moyen facile d'obtenir un lien dans ce format à partir de Mail.app?

Lorin Hochstein
la source

Réponses:

9

Sur la base de la réponse de Splattne et de cette entrée macosxhints, j'ai compris comment le faire. Maintenant, il suffit d'utiliser quelque chose comme Quicksilver de FastScripts pour le lier à un raccourci clavier.

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
la source
1
Cela fonctionne également dans OS X Mavericks où la fonctionnalité de glisser-déposer semble être aléatoire.
Rafael Bugajewski
1

Si j'interprète correctement votre question, vous pouvez utiliser une variante de l'AppleScript dans ces articles de blog:

splattne
la source
Cela m'amène la plupart du temps là-bas. Cependant, je ne sais pas comment spécifier "le message électronique actuellement sélectionné" dans Applescript.
Lorin Hochstein
0

Pas une réponse à la question à laquelle vous avez déjà répondu vous-même, mais juste pour les archives:

Après avoir enregistré un fichier à partir d'un site Web ou d'un e-mail, vous pouvez utiliser Obtenir des informations dans le Finder pour trouver d'où provient un fichier . Pour une pièce jointe à un e-mail, cela montre le message Expéditeur, Objet et l'URL faisant référence à ce message.

Au lieu d'obtenir des informations, on peut également utiliser la ligne de commande pour obtenir les informations:

mdls -name kMDItemWhereFroms <nomfichier>

En utilisant la opencommande telle URL, OS X activera l'application par défaut, tout comme il activerait TextEdit pour un fichier texte. Pour les message:URL, Mail.app sera lancé pour afficher le message (s'il existe toujours).

Combiné avec certains AppleScript des commentaires sur le lien ci-dessus:

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

Collez l'AppleScript ci-dessus dans Script Editor et enregistrez-le en tant qu'application, avec l'option Exécuter uniquement . Maintenant, lorsque vous faites glisser un fichier sur cette application, la source sera ouverte, le cas échéant. Je ne suis certainement pas un expert AppleScript, et ce qui précède ne fait aucune gestion d'erreur, il prend simplement le premier fichier lorsque plusieurs fichiers sont déposés sur l'application, et il ne prend pas en charge les répertoires. Mais on a l'idée, je suppose.

(Les barres obliques inversées http:\\ci-dessus sont intentionnelles et ne doivent pas être lues //. Le script recherche http:, https:ou message:. En d'autres termes: elles ne sont pas destinées à faire partie de http://, mais forment ensemble une barre oblique inversée, pour échapper le caractère pipe dans la grepcommande .)

Arjan
la source