4 votos

Ayuda con AppleScript para mover los mensajes de correo electrónico

He escrito el script siguiente para mover los mensajes de un buzón a otro en Mail.

Pero cuando lo ejecuto, sólo se mueven algunos mensajes de correo electrónico a la vez. Por ejemplo, si tengo 10 mensajes en el buzón, sólo se mueven tres o cuatro. Así que tengo que ejecutar el script varias veces para completar la operación. Por lo que veo, es bastante aleatorio cuántos se mueven cada vez.

Entonces, ¿alguien sabe por qué puede 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

4voto

unlocked2412 Puntos 81

Es mejor si se captura una referencia a cada mensaje en una variable, en lugar de obtener la referencia cada vez que se hace 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

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