Utilizzo di AppleScript per aprire Mail tramite MessageID

1

Utilizzando AppleScript di seguito non riesco ad aprire l'ID del messaggio. Lo stesso ID messaggio è in una nota nella mia app Promemoria e facendo clic sul link funziona correttamente lì.

set emailID to "message://<[email protected]>"

tell application "Mail"
    open location emailID
end tell

Viene visualizzato l'errore popup

The operation couldn't be completed.

(MCMailErrorDomain error 1030.)

Mail was unable to open the URL "(null)".

Ho cercato quel codice di errore ma le risposte non sembrano applicabili. Inoltre, quando rimuovi la parola "posizione" dal mio AppleScript, Mail si aprirà ma con una nuova e-mail vuota.

Qualsiasi aiuto con cui questo script può effettivamente aprire l'e-mail con quell'ID sarebbe molto apprezzato.

    
posta El Tigre 10.11.2016 - 16:51
fonte

1 risposta

1

Mail non è abbastanza intelligente da dirgli semplicemente di aprire un documento solo con message id nel modo in cui stai provando a farlo. Devi dire a Mail dove cercarlo, come in quella casella di posta in cui si trova.

Il seguente esempio ha funzionato per me quando MessageID è stato impostato su uno nella mia Posta in arrivo utilizzando il proprio message id tuttavia in questo esempio sto utilizzando il message id mostrato nel tuo OP.

set MessageID to "[email protected]"

tell application "Mail"
    activate
    open (first message of inbox whose message id = MessageID)
end tell

Si noti che l'esempio code di cui sopra è limitato in quanto non cattura con garbo un errore , quindi l'esempio codice sotto aggiunge un try istruzione con un'istruzione error per gestire un errore con garbo.

set MessageID to "[email protected]"

tell application "Mail"
    activate
    try
        open (first message of inbox whose message id = MessageID)
    on error eStr number eNum
        display dialog eStr & " Number: " & eNum buttons {"OK"} default button 1
        return
    end try
end tell
    
risposta data 10.11.2016 - 19:01
fonte

Leggi altre domande sui tag