Use AppleScript para enviar todos los correos electrónicos en una carpeta en un momento determinado

0

Me gustaría mucho desarrollar un AppleScript para enviar todos los correos electrónicos dentro de un buzón específico cada vez que se ejecuta. Luego puedo crear un buzón de correo llamado "9AM", colocar correos electrónicos allí, y con un poco de ayuda de cron / iCal, enviar todos los correos electrónicos a las 9 am cada día, lo que me permite escribir correos electrónicos a altas horas de la noche, pero enviarlos por la mañana .

Mi código a continuación sin embargo falla en el comando de envío.

tell application "Mail"
    repeat with theMessage in (every message of (mailbox "9AM" of account "accountnamehere"))
        send theMessage
    end repeat
end tell

También intenté moverlos al buzón de "Bandeja de salida" pero eso parece hacer que desaparezcan ...

tell application "Mail"
    repeat with theMessage in (every message of (mailbox "9AM" of account "accountnamehere"))
        set mailbox of theMessage to mailbox "Outbox"
    end repeat
end tell

¿Alguna sugerencia a alguien? Ayuda muy apreciada!

Esta configuración sería ideal, ya que puedo dejar un Mac encendido y luego guardar los correos electrónicos en este buzón "9AM" de mi iPhone. Espero que sea posible.

    
pregunta mrmrw 09.04.2016 - 03:43

1 respuesta

1

Esto no significa necesariamente que sea una respuesta completa y es demasiado como un comentario. Debido a que el Diccionario AppleScript del correo carece de verbos , por ejemplo. send again , por lo tanto, uno debe solucionar cualquier deficiencia.

El código a continuación podría incorporarse en su script . Utiliza Eventos del sistema para manipular los comandos del menú para enviar mensajes compuestos desde el buzón designado.

Código de ejemplo:

tell application "Mail"
    activate
    repeat with theMessage in (every message of (mailbox "9AM"))
        open theMessage
        delay 1
        tell application "System Events" to click menu item "Send Again" of menu "Message" of menu bar 1 of process "Mail"
        delay 1
        tell application "System Events" to click menu item "Send" of menu "Message" of menu bar 1 of process "Mail"
        delay 1
    end repeat
end tell

Lo que esto hace es automatizar las tareas que uno podría hacer manualmente para lograr los mismos resultados, enviando los mensajes guardados no enviados desde un buzón .

Lo que esto no hace es, si el buzón es diferente a Borradores , elimine los mensajes del buzón de destino y la codificación adicional será requerido.

Notas :

El problema con la automatización de una serie de tareas manuales de esta manera, también conocido como. La programación de la interfaz de usuario es si, a la hora designada, se ejecuta el script y usted está haciendo otra cosa y se aleja del Correo, entonces el script no podrá completarse correctamente. Esto se debe a que si el menú Correo no está visible, las llamadas realizadas por los Eventos del sistema no se pueden completar.

Es posible que el valor del comando delay deba ajustarse, por ejemplo. delay 1.25 , si es necesario o cualquier valor que funcione en su sistema. Los sistemas más lentos necesitan mayores valores de retraso .

Obviamente, si el buzón de destino es Borradores , tenga en cuenta que, a menos que codifique , todos los mensajes en el target buzón se enviará y, por lo tanto, se usará "9AM" permite guardar los borradores que no están listos para enviarse desde el envío. La desventaja de otros que utilizan Borradores es que requiere codificación adicional para eliminar los mensajes que ahora se han enviado a través de Enviar de nuevo > Envía de esta manera.

    
respondido por el user3439894 16.04.2016 - 15:34

Lea otras preguntas en las etiquetas