1 votes

AppleScript pour compter les messages dans la boîte de réception échoue avec "Can't get mailbox" (Impossible d'accéder à la boîte de réception)

Voici ma première tentative de programme AppleScript, qui s'est soldée par un échec cuisant :

tell application "Mail"
    tell mailbox "INBOX"
        count messages
    end tell
end tell

Il a été compilé, mais lorsque je l'ai exécuté, j'ai obtenu le message d'erreur suivant

error "Mail got an error: Can’t get mailbox \"INBOX\"." number -1728 from mailbox "INBOX"

Quelqu'un peut-il me dire ce qui ne va pas et s'il existe une courte introduction à AppleScript, écrite pour quelqu'un qui a l'habitude de programmer ?

2voto

markhunte Points 11634

Votre erreur est compréhensible dans ce que vous attendez de la syntaxe.

Chaque compte possède sa propre boîte aux lettres nommée "INBOX"

Dans Mail, la boîte aux lettres boîte de réception est la référence à la boîte de réception de premier niveau qui affiche le contenu de toutes les autres boîtes de réception nommées "INBOX"

2 exemples :

Exemple 1

tell application "Mail"
    set inboxes to first mailbox of every account whose name is "INBOX"
    set messageCount to 0
    repeat with i from 1 to number of items in inboxes

        set this_item to item i of inboxes
        if this_item is not missing value then
            set thisCount to (count of (messages of this_item))
            set messageCount to thisCount + messageCount
            log thisCount
        end if
    end repeat

end tell
log messageCount

Exemple 2

tell application "Mail"
    set messageCount to (count of (messages of inbox))
end tell

log messageCount

Les deux renvoient et enregistrent le même total.

Mais l'exemple 1 enregistre également le décompte individuel de chaque "INBOX"

Un bon point de départ est la lecture de ce document : Les fondamentaux d'AppleScript s

1voto

adayzdone Points 1798
tell application "Mail"
    -- This returns count of messages across all inboxes
    set countA to count (messages of inbox)

    set countB to count (messages of mailbox "INBOX" of account "david")
end tell

return {countA, countB}

Dans l'éditeur AppleScript, appuyez sur commande shift o pour ouvrir le dictionnaire des applications. AppleScript 1-2-3 et le Definitive Guide sont de bons points de départ.

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