¿Cómo copio un enlace a un mensaje Mail.app sin usar arrastrar y soltar?

8

Mantengo un diario, y me gusta tener enlaces a mensajes de correo electrónico, mi cliente de correo es Mail.app en OSX. Puedo arrastrar y soltar enlaces a mi programa de diario (VoodooPad), pero realmente preferiría copiarlos y pegarlos, así que tengo un enlace que parece un mensaje: //%3C30533360.1931252053580.bla.bla.bla.

¿Hay alguna manera fácil de obtener un enlace en este formato de Mail.app?

Lorin Hochstein
fuente

Respuestas:

9

Basado en la respuesta de splattne, y en esta entrada de macosxhints, descubrí cómo hacerlo. Ahora, es solo cuestión de usar algo como Quicksilver de FastScripts para vincularlo a un atajo 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
fuente
1
Esto también funciona en OS X Mavericks, donde la funcionalidad de arrastrar y soltar parece ser impredecible.
Rafael Bugajewski
0

No es una respuesta a la pregunta que ya te respondiste, sino solo para los archivos:

Una vez que se ha guardado un archivo de un sitio web o un mensaje de correo electrónico, se puede usar Obtener información en Finder para encontrar de dónde proviene un archivo . Para un archivo adjunto de correo electrónico, esto muestra el mensaje Remitente, Asunto y la URL que hace referencia a ese mensaje.

En lugar de Obtener información, también se puede usar la línea de comando para obtener la información:

mdls -name kMDItemWhereFroms <nombre de archivo>

Al usar el opencomando, dicha URL hará que OS X active la aplicación predeterminada, al igual que activaría TextEdit para un archivo de texto. Para las message:URL, Mail.app se iniciará para mostrar el mensaje (si aún existe).

Combinado con algunos AppleScript de los comentarios en el enlace de arriba:

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

Pegue el AppleScript anterior en el Editor de secuencias de comandos y guárdelo como una Aplicación, con la opción Ejecutar solo . Ahora, al arrastrar cualquier archivo a esa aplicación, se abrirá la fuente, si corresponde. Ciertamente no soy un experto en AppleScript, y lo anterior no hace ningún manejo de errores, simplemente toma el primer archivo cuando se sueltan varios archivos en la aplicación y no admite directorios. Pero uno tiene la idea, supongo.

(Las barras invertidas en http:\\más arriba son intencionales y no deberían leer //Las búsquedas de secuencias de comandos para. http:, https:O message:en otras palabras:. No están destinados a ser una parte de http://, pero juntos forman una barra inversa escapado, para escapar de la tubería de caracteres en el grepcomando .)

Arjan
fuente