¿Cómo guardar los mensajes enviados en la misma carpeta que el mensaje al que se responde?

3

Una de mis características favoritas cuando usé Outlook era la opción de guardar los correos electrónicos enviados en la misma carpeta en la que se respondía el mensaje. Por ejemplo, si moví un mensaje a la carpeta A y respondía a eso, mi respuesta se guardó en A, no Enviado. (Si respondí a un mensaje en mi Bandeja de entrada, mi respuesta fue a la carpeta Enviado predeterminada).

Esto hizo que fuera realmente fácil ver un tema completo cuando volví a él más tarde. Este flujo de trabajo es un gran ahorro de tiempo para mí y es lo único que extraño de Outlook. En este momento, muevo manualmente los mensajes enviados a la carpeta con mensajes relacionados, lo cual es tedioso. ¿Hay alguna manera de recrear esta característica desde Outlook con Mac Mail? (Estoy usando Mac Mail 6.2 en OSX 10.8.2).

    
pregunta DaveBurns 22.01.2013 - 04:43

1 respuesta

2

El correo puede extenderse para imitar bastante de cerca la característica que menciona en Outlook.

OS X proporciona una función llamada servicios que se puede usar para ampliar la funcionalidad de una aplicación (consulte enlace para más información).

Usaré Automator y AppleScript para crear un servicio que mueva los mensajes enviados a la carpeta del mensaje al que se responde, y luego asignaré el método abreviado de teclado de respuesta estándar ( R ) al servicio:

  • Cerrar correo.

  • Abra Automator en la carpeta Applications y elija Servicio:

  • SeleccioneUtilidadesenBibliotecayarrastreEjecutarAppleScriptalpanelvacíodeladerecha:

  • Configure el servicio para que no reciba ninguna entrada en el correo:

  • ReemplaceelcontenidodelaacciónEjecutarAppleScriptcon:

    onrun{input,parameters}tellapplication"Mail"
        try
            (* Get selected messages or exit *)
            set messageSelection to selection
            set selectedMessage to item 1 of messageSelection
            set replyMessage to reply selectedMessage opening window yes
            set messageID to message id of selectedMessage
            set currentMailbox to mailbox of selectedMessage
        on error
            return
        end try
        repeat
            (* Wait until reply message is sent *)
            delay 2
            try
                if replyMessage is not visible then exit repeat
            on error
                exit repeat
            end try
        end repeat
        synchronize with (account of currentMailbox)
        (* Wait while reply message is being sent *)
        delay 10
        (* Loop over all sent messages *)
        set sentMailbox to sent mailbox of application "Mail"
        set allSentMessages to messages of sentMailbox
        repeat with sentMessage in allSentMessages
            if source of sentMessage contains messageID then
                set mailbox of sentMessage to currentMailbox
                return
            end if
        end repeat
    end tell
    
    return input
    end run
    
    • Guarde con un nombre descriptivo como Responder y mover el mensaje enviado a la carpeta actual . El servicio se guardará en ~/Library/Services/ . Así es como se ve el servicio:

  • AbraPreferenciasdelsistema,seleccioneelpaneldepreferenciasTecladoyluegolapestañaAtajosdeteclado.

  • SeleccioneAccesosdirectosdeaplicación,presioneelbotón+ycambieparalaaplicaciónEnvíeporcorreoelaccesodirectoasignadoalelementodelmenúResponderaR.LocambiamosparaevitarconflictosalasignarRalservicioacontinuación:

  • Seleccione Servicios , desplácese hacia abajo hasta el servicio que agregó anteriormente y configure el método abreviado de teclado en R :

  • Abrircorreo.ObservequeelaccesodirectodelaRespuestayanoesR,sinoR:

  • También note que hay un nuevo servicio, accesible con R :

  • Ahora seleccione un mensaje en una carpeta, presione R , escriba su respuesta y envíela, en unos segundos verá el mensaje enviado en la carpeta. .

El script tiene algunas limitaciones y efectos secundarios:

  • El servicio no puede diferenciar los mensajes cancelados y enviados. Por lo tanto, si presiona R y luego cambia de opinión y cierra la ventana, el servicio continuará ejecutándose y revisará su carpeta de Envíos para ver las identificaciones correspondientes.

  • AppleScript no ofrece ningún medio para obtener una lista de respuestas a un mensaje. Mi solución es obtener el ID del mensaje al que se responde y buscarlo en los mensajes enviados.

  • El mensaje enviado no se puede mover mientras se está descargando. AppleScript no devuelve ningún mensaje de error si ese es el caso, así que agregué un retraso de 10 segundos. Una demora de 5 segundos no fue confiable en mis pruebas, adáptela a sus necesidades si es necesario.

  • Mientras el servicio busca en la carpeta Enviados, el correo se ralentiza.

respondido por el jaume 24.01.2013 - 11:23

Lea otras preguntas en las etiquetas