0 votos

Utilizar AppleScript para enviar todos los correos electrónicos de una carpeta a una hora determinada

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 ejecute. Entonces puedo crear un buzón llamado "9AM", colocar los correos electrónicos dentro de él, y con un poco de ayuda de cron/iCal, hacer que todos esos correos se envíen a las 9 de la mañana cada día permitiéndome escribir correos electrónicos a última hora de la noche pero que se envíen por la mañana.

Sin embargo, mi código siguiente 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 he probado a moverlos a la bandeja de salida, pero parece que eso hace 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? Se agradece mucho la ayuda.

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

1voto

user3439894 Puntos 5883

Esto no pretende ser necesariamente una respuesta completa y es demasiado como un comentario. Debido a que el diccionario de Mail AppleScript carece de algunos verbos Por ejemplo send again Por lo tanto, hay que solucionar las posibles deficiencias.

El código que se indican a continuación podrían incorporarse a su script . Utiliza Eventos del sistema para manipular menú comandos a enviar mensajes compuestos por el designado buzón .

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 hace esto es automatizar las tareas que uno podría/haría manualmente para lograr los mismos resultados, enviando los mensajes guardados no enviados de un determinado buzón .

Lo que no hace es, si el buzón es otro entonces Borradores eliminar los mensajes del objetivo buzón y será necesaria una codificación adicional.

Notas:

El problema de automatizar una serie de tareas manuales de esta manera, también conocida como programación de la interfaz de usuario, es que si en el momento designado el script corre y usted está haciendo otra cosa y le quita la atención al Correo entonces el script no podrá completarse correctamente. Esto se debe a que si el menú de Correo no está visible, las llamadas que se realizan mediante Eventos del Sistema no pueden completarse.

El valor del delay puede ser necesario ajustar el comando, por ejemplo delay 1.25 si es necesario o cualquier valor que funcione en su sistema. Los sistemas más lentos necesitan un valor más alto retraso valores.

Obviamente, si el objetivo buzón es Borradores tenga en cuenta que a menos que código En consecuencia, todos mensajes en el objetivo buzón se enviará y, por tanto, utilizar, por ejemplo, "9AM" permite evitar que se envíen los borradores que no están listos para ser enviados. La desventaja de utilizar otros horarios es que Borradores requiere una codificación adicional para eliminar el mensajes que ahora se han enviado a través de Enviar de nuevo > Enviar de esta manera.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X