AppleScript per il conteggio dei messaggi in Posta in arrivo non riesce con "Impossibile ottenere la casella di posta"

1

Ecco il mio primo tentativo di un programma AppleScript, che ha incontrato la sconfitta ignominiosa:

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

È stato compilato, ma quando l'ho eseguito, ho ricevuto il messaggio di errore

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

Qualcuno può dirmi cosa c'è che non va, e se c'è una breve introduzione ad AppleScript, scritta per qualcuno abituato a programmare?

    
posta David Epstein 24.11.2013 - 12:22
fonte

2 risposte

2

Il tuo errore è comprensibile in ciò che ti aspetti dovrebbe essere la sintassi.

Ogni account ha la propria casella di posta denominata "INBOX"

In Posta la cassetta postale Posta in arrivo è il riferimento alla posta in arrivo di primo livello che mostra i contenuti di tutte le altre caselle di posta denominate "INBOX"

2 esempi:

Esempio 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

Esempio 2

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

log messageCount

Entrambi restituiscono e registrano lo stesso totale.

Ma l'esempio 1 registra anche il conteggio individuale di ciascuna "INBOX"

Un buon punto di partenza è la lettura: AppleScript Fundamental s

    
risposta data 24.11.2013 - 14:10
fonte
1
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}

In AppleScript Editor, premi command command o per aprire il dizionario dell'applicazione. AppleScript 1-2-3 e la Guida definitiva sono buoni punti di partenza.

    
risposta data 24.11.2013 - 13:33
fonte

Leggi altre domande sui tag