Ayuda con AppleScript para mover mensajes de correo electrónico

3

He escrito la siguiente secuencia de comandos para mover mensajes de un buzón a otro en Mail.

Pero cuando lo ejecuto, solo unos pocos mensajes de correo electrónico se mueven a la vez. P.ej. si tengo 10 mensajes en el buzón, solo se moverán tres o cuatro. ¡Así que tengo que ejecutar el script varias veces para completar la operación! Por lo que puedo decir, es bastante aleatorio cuántos se mueven cada vez.

¿Alguien sabe por qué podría ser esto y cómo podría mejorar este script?

¡Muchas gracias!

use AppleScript version "2.4" -- Yosemite (10.10) or later
use scripting additions

tell application "Mail"

    set theWorkInbox to mailbox "Work Inbox" of account "Work"
    repeat with currentWorkMessage in every message of (mailbox "Work Holding Bay" of account "Work")
        set mailbox of currentWorkMessage to theWorkInbox
    end repeat

end tell

Estoy usando macOS Sierra

    
pregunta Andy 20.06.2017 - 13:48

1 respuesta

3

Es mejor si captura una referencia a cada mensaje en una variable, en lugar de obtener la referencia cada vez que realiza un bucle.

tell application "Mail"
    set theWorkInbox to mailbox "Work Inbox" of account "Work"
    set TargetInbox to mailbox "Work Holding Bay" of account "Work"

    -- CAPTURE REFERENCE TO EVERY MESSAGE OF MAILBOX IN A VARIABLE
    set EveryMessage to every message of TargetInbox

    repeat with currentWorkMessage in EveryMessage
        set mailbox of currentWorkMessage to theWorkInbox
    end repeat

end tell
    
respondido por el unlocked2412 20.06.2017 - 16:03

Lea otras preguntas en las etiquetas