🎉Presentando la nueva función en La Comunidad. ¡Votos!🎉

¿Alguien te ayudó o alguna respuesta o Sugerencia de Usuarios permitió resolver tu problema? Selecciona la flecha que apunta hacia arriba para votar a favor. Tus comentarios sirven de ayuda para otras personas. Obtén más información sobre cuándo debes votar a favor: Vota en la Comunidad de soporte de Apple.

Parece que nadie ha participado en esta conversación desde hace mucho tiempo. Para empezar una conversación, haz una nueva pregunta.

Mail.app - Atajo de teclado para trasladar emails a carpetas

¡Buenas! 🙂


Hace poco trabajaba con Outlook MAC como gestor de correo electrónico, y por unos problemas de incompatibilidades con los servidores de mi empresa, tengo que utilizar la aplicación nativa de Mail.


En Outlook existía un útil atajo de teclado (cmd+shift+m) que permitía escoger la carpeta a la que trasladar el email que estás leyendo o seleccionando. Al pulsar ese atajo se abría una pequeño cuadro en el que escribías las primeras letras de la carpeta y pulsando "Enter" se trasladaba a la carpeta que habías seleccionado.


¿Existe algo parecido en Mail.app para no tener que arrastrar el email por la larga lista de buzones y sub-buzones? He leído artículos en otras páginas que proponen scripts creados por usuarios, ya que en principio esta opción no existe de modo nativo, pero no he conseguido que funcione ninguno.


¡Gracias! ¡Saludos!

iMac with Retina 5K display, iOS 10.2.1

Publicado el 22/03/2017 11:10 a. m.

Responder
Pregunta marcada como Mejor respuesta

Publicado el 23/03/2017 10:29 a. m.

Los scripts son un tema muy interesante Moesosu, aunque no conozco mucho sobre el tema, haciendo unas pruebas intente crear uno sencillo que ayudara a enviar los correos seleccionados a una carpeta. Te coloco el método para crear un script en caso de que tengas dudas o alguien más desee saber como crearlos.


Primero, abrimos la aplicación Automator, que se encuentra en la carpeta Aplicaciones (Command + Shift + A). Una vez abierta, nos desplegará una ventana solicitando el tipo para nuestro documento, aquí seleccionamos "Servicio".


Ya en la ventana de creación, veremos una lista en la izquierda llamada Biblioteca, donde estarán diferentes ejemplos para algunas aplicaciones, lamentablemente, Automator no incluye en Mail una acción predefinida que realice el traslado de correo a una carpeta, al menos no aquí ya que bien se pueden usar las Reglas dentro de Mail para hacerlo de manera automática, usando los Buzones inteligentes, por ejemplo.


Como queremos crear un nuevo flujo de trabajo que lo haga, en el recuadro de búsqueda, que esta encima de la segunda columna, escribimos AppleScript mientras esta seleccionada "Biblioteca" en la columna de la izquierda, esto nos mostrará el resultado: Ejecutar AppleScript. Lo seleccionas y arrastras al espacio traslucido que tienes a la derecha que es la área de trabajo.


Antes de escribir el script, en la parte de arriba tienes que seleccionar "sin datos de entrada" en la sección 'El servicio recibe la selección de' y Mail.app en donde dice 'cualquier aplicación'.


Copia y reemplaza el siguiente script con el que aparece en pantalla:


tell application "Mail"


set correoSeleccionado to selection

set carpetaDestino to "Prueba"

if (mailbox carpetaDestino exists) = false then

make new mailbox with properties {name:carpetaDestino}

end if

repeat with correo in correoSeleccionado

move correo to mailbox carpetaDestino

end repeat


end tell


Puedes cambiar el nombre de la carpeta "Prueba" por cualquiera que desees, incluso la creará si no existiera. Luego de esto toca guardar el flujo de trabajo (Command + S), donde tendremos que darle un nombre con el que podamos ubicarlo sin problemas.


El siguiente paso es ir a Preferencias del Sistema > Teclado, para luego seleccionar la pestaña 'Funciones rápidas', en la lista de la izquierda seleccionamos 'Servicios' y en la derecha buscamos "General", donde aparecerá el script que acabamos de crear. Aquí puedes asignarle un atajo a dicho script al hacer doble click sobre este y aplicar el atajo de teclas deseado.


Por ultimo, abrimos Mail y notaras que en el menú Mail > Servicios aparecerá el script que creamos. Si todo esta bien, puedes probar que funcione seleccionado un correo. Puedes ejecutarlo al hacer click sobre el o usando el atajo que hayas especificado, si este no funciona a la primera no te preocupes, puede tardar un momento para que macOS lo habilite.


Te comparto otro script que encontré mucho más elaborado, ya que te desplegará un cuadro de dialogo donde podrás seleccionar una carpeta en particular dentro de cualquiera de tus cuentas. Créditos para su creador, Andreas Zeitler.


(*

Mail Filer

Files messages in Mail.app using type ahead. Displays one dialog containing all mailboxes and accounts.

Created by Andreas Zeitler on 2013-09-13

Copyright Mac OS X Screencasts 2013. All rights reserved.

*)


set myMailboxes to {}

tell application "Mail"


-- assemble a list of all mailboxes of all accounts

set allAccounts to (name of every account) as list

repeat with thisAccount in allAccounts

set theseMailboxes to (name of every mailbox of account thisAccount) as list

repeat with thisMailbox in theseMailboxes

set the end of myMailboxes to (thisMailbox as string) & "\t\t\t" & (thisAccount as string)

end repeat

end repeat


-- present list

choose from list myMailboxes with title "Choose Mailbox…" with prompt "Please select one account" without multiple selections allowed

set chosenMailbox to result as string


-- split mailbox and account from result

set oldDelimits to AppleScript's text item delimiters

set AppleScript's text item delimiters to "\t\t\t"

set mailboxAndAccount to every text item of chosenMailbox

set AppleScript's text item delimiters to oldDelimits


-- these are the mailbox and account we need to move messages to

set chosenMailbox to first item of mailboxAndAccount

set chosenAccount to second item of mailboxAndAccount


-- move selected messages to chosen mailbox of chosen account

set s to selection

if s is not "" then

repeat with currentMessage in s

move currentMessage to (first mailbox whose name is chosenMailbox) of account chosenAccount

end repeat

end if


end tell


Saludos Moesosu y muchas gracias por traer este tema de los scripts, ha sido muy interesante aprender acerca de ellos :3

6 respuestas
Pregunta marcada como Mejor respuesta

23/03/2017 10:29 a. m. en respuesta a Moesosu

Los scripts son un tema muy interesante Moesosu, aunque no conozco mucho sobre el tema, haciendo unas pruebas intente crear uno sencillo que ayudara a enviar los correos seleccionados a una carpeta. Te coloco el método para crear un script en caso de que tengas dudas o alguien más desee saber como crearlos.


Primero, abrimos la aplicación Automator, que se encuentra en la carpeta Aplicaciones (Command + Shift + A). Una vez abierta, nos desplegará una ventana solicitando el tipo para nuestro documento, aquí seleccionamos "Servicio".


Ya en la ventana de creación, veremos una lista en la izquierda llamada Biblioteca, donde estarán diferentes ejemplos para algunas aplicaciones, lamentablemente, Automator no incluye en Mail una acción predefinida que realice el traslado de correo a una carpeta, al menos no aquí ya que bien se pueden usar las Reglas dentro de Mail para hacerlo de manera automática, usando los Buzones inteligentes, por ejemplo.


Como queremos crear un nuevo flujo de trabajo que lo haga, en el recuadro de búsqueda, que esta encima de la segunda columna, escribimos AppleScript mientras esta seleccionada "Biblioteca" en la columna de la izquierda, esto nos mostrará el resultado: Ejecutar AppleScript. Lo seleccionas y arrastras al espacio traslucido que tienes a la derecha que es la área de trabajo.


Antes de escribir el script, en la parte de arriba tienes que seleccionar "sin datos de entrada" en la sección 'El servicio recibe la selección de' y Mail.app en donde dice 'cualquier aplicación'.


Copia y reemplaza el siguiente script con el que aparece en pantalla:


tell application "Mail"


set correoSeleccionado to selection

set carpetaDestino to "Prueba"

if (mailbox carpetaDestino exists) = false then

make new mailbox with properties {name:carpetaDestino}

end if

repeat with correo in correoSeleccionado

move correo to mailbox carpetaDestino

end repeat


end tell


Puedes cambiar el nombre de la carpeta "Prueba" por cualquiera que desees, incluso la creará si no existiera. Luego de esto toca guardar el flujo de trabajo (Command + S), donde tendremos que darle un nombre con el que podamos ubicarlo sin problemas.


El siguiente paso es ir a Preferencias del Sistema > Teclado, para luego seleccionar la pestaña 'Funciones rápidas', en la lista de la izquierda seleccionamos 'Servicios' y en la derecha buscamos "General", donde aparecerá el script que acabamos de crear. Aquí puedes asignarle un atajo a dicho script al hacer doble click sobre este y aplicar el atajo de teclas deseado.


Por ultimo, abrimos Mail y notaras que en el menú Mail > Servicios aparecerá el script que creamos. Si todo esta bien, puedes probar que funcione seleccionado un correo. Puedes ejecutarlo al hacer click sobre el o usando el atajo que hayas especificado, si este no funciona a la primera no te preocupes, puede tardar un momento para que macOS lo habilite.


Te comparto otro script que encontré mucho más elaborado, ya que te desplegará un cuadro de dialogo donde podrás seleccionar una carpeta en particular dentro de cualquiera de tus cuentas. Créditos para su creador, Andreas Zeitler.


(*

Mail Filer

Files messages in Mail.app using type ahead. Displays one dialog containing all mailboxes and accounts.

Created by Andreas Zeitler on 2013-09-13

Copyright Mac OS X Screencasts 2013. All rights reserved.

*)


set myMailboxes to {}

tell application "Mail"


-- assemble a list of all mailboxes of all accounts

set allAccounts to (name of every account) as list

repeat with thisAccount in allAccounts

set theseMailboxes to (name of every mailbox of account thisAccount) as list

repeat with thisMailbox in theseMailboxes

set the end of myMailboxes to (thisMailbox as string) & "\t\t\t" & (thisAccount as string)

end repeat

end repeat


-- present list

choose from list myMailboxes with title "Choose Mailbox…" with prompt "Please select one account" without multiple selections allowed

set chosenMailbox to result as string


-- split mailbox and account from result

set oldDelimits to AppleScript's text item delimiters

set AppleScript's text item delimiters to "\t\t\t"

set mailboxAndAccount to every text item of chosenMailbox

set AppleScript's text item delimiters to oldDelimits


-- these are the mailbox and account we need to move messages to

set chosenMailbox to first item of mailboxAndAccount

set chosenAccount to second item of mailboxAndAccount


-- move selected messages to chosen mailbox of chosen account

set s to selection

if s is not "" then

repeat with currentMessage in s

move currentMessage to (first mailbox whose name is chosenMailbox) of account chosenAccount

end repeat

end if


end tell


Saludos Moesosu y muchas gracias por traer este tema de los scripts, ha sido muy interesante aprender acerca de ellos :3

23/03/2017 07:56 a. m. en respuesta a Moesosu

Hola Moesosu,


En Mail, la forma de mover un correo a una carpeta también puede llevarse a cabo al hacer click derecho o control + click sobre este y en el menú que te despliega seleccionar Mover a > para luego seleccionar el destino (Mail: Trasladar o copiar mensajes). Si bien esto lo puedes hacer también al seleccionar varios correos a la vez mientras presionas la tecla Command, puedes enviar primero un solo correo a una carpeta en especifico y una vez hecho eso, valerte del atajo con las teclas Command + Option + T que enviará los demás correos que selecciones a esa misma carpeta. Tendrás que repetir el proceso si deseas enviar otra serie de correos a una carpeta distinta utilizando este atajo ya que lo hará siempre con la ultima carpeta utilizada. Si bien quizá no funciona similar al atajo que mencionas, es una buena opción en lugar de hacerlo uno a la vez.


Saludos.

23/03/2017 10:59 a. m. en respuesta a Maus

Vaya Maus!!!! Esto es GENIAL! Es lo más cerca que he estado de algo parecido a lo que buscamos muchos usuarios.


Había conseguido automatizar un atajo de teclado a una carpeta en concreto, pero la opción que has encontrado en la versión de Andreas Zeitler de "move selected messages to chosen mailbox of chosen account" es justamente lo que buscaba. Funciona muy bien, pero no perfectamente:


Hay un fallo que no logro descifrar en el código... este servicio de workflow funciona cuando no estás en la aplicación de Mail, es decir, lo tienes en segundo plano y ejecutas la acción, cuando lo haces desde la misma aplicación no hace nada... supongo que es algún errorcillo que no logro retocar... hmmm me estoy estrujando! 😁


Brutal! Gracias Maus!

23/03/2017 11:26 a. m. en respuesta a Maus

Miento descaradamente Maus jejejeje FUNCIONAAAAAAA!!!

He reiniciado el MAC para evitar problemas de este tipo y mira por donde, ya funciona dentro de Mail.

(Quizá tiene que ver que he puesto que el servicio recibe "sin datos de entrada" en "Mail" en los desplegables superiores) Exactamente lo que has explicado en la última respuesta.


Así que por fin, se ha solucionado!!! Muchísimas gracias, ya he marcado la respuesta como válida.

Espero que mucha gente llegue a este tema y le sirva de ayuda tal y como me ha servido a mi.

Gracias de nuevo por todo Maus!

Mail.app - Atajo de teclado para trasladar emails a carpetas

Bienvenido a la Comunidad de soporte de Apple
Un foro donde los clientes de Apple se ayudan entre sí con sus productos. Comienza con tu Apple ID.