4 votes

Aide pour déplacer des messages électroniques avec AppleScript

J'ai écrit le script ci-dessous pour déplacer des messages d'une boîte aux lettres à une autre dans Mail.

Mais quand je l'exécute, seulement quelques messages électroniques sont déplacés à la fois. Par exemple, si j'ai 10 messages dans la boîte aux lettres, seuls trois ou quatre sont déplacés. Je dois donc exécuter le script plusieurs fois pour compléter l'opération! Autant que je puisse dire, c'est assez aléatoire combien se déplacent à chaque fois.

Est-ce que quelqu'un sait pourquoi cela pourrait arriver, et comment je pourrais améliorer ce script?

Merci beaucoup!

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

tell application "Mail"

    set theWorkInbox to mailbox "Boîte de réception professionnelle" of account "Travail"
    repeat with currentWorkMessage in every message of (mailbox "Zone de stockage du travail" of account "Travail")
        set mailbox of currentWorkMessage to theWorkInbox
    end repeat

end tell

J'utilise macOS Sierra

5voto

unlocked2412 Points 169

Il est préférable de capturer une référence à chaque message dans une variable, au lieu d'obtenir la référence à chaque boucle.

dire application "Mail"
    définir leWorkInbox comme boîte aux lettres "Boîte de réception professionnelle" du compte "Travail"
    définir TargetInbox comme boîte aux lettres "Baie d'attente du travail" du compte "Travail"

    -- CAPTURE RÉFÉRENCE À CHAQUE MESSAGE DE LA BOÎTE AUX LETTRES DANS UNE VARIABLE
    définir EveryMessage comme étant chaque message de TargetInbox

    répéter avec currentWorkMessage dans EveryMessage
        définir boîte aux lettres de currentWorkMessage comme leWorkInbox
    fin répéter

fin dire

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X