Ricevi messaggi inviati negli ultimi 7 giorni (Applescript)

1

Come parte della mia routine, rivedo tutte le e-mail in uscita una volta alla settimana per vedere se qualcuno di loro deve essere contrassegnato per il follow-up. Voglio provare un approccio diverso e invece di passare attraverso la mia posta inviata, mi mando automaticamente una e-mail ogni settimana che elenca tutte le e-mail inviate nella settimana precedente.

Ho scritto un AppleScript che esegue questa operazione, ma contiene un'inefficienza che vorrei rimuovere.

repeat with myMessage in items 1 through theHorizon of (get messages of myMailbox)              
if (currentDate - (date sent of myMessage)) div days is less than theTimeframe then

Poiché la mia posta inviata ha decine di migliaia di messaggi, faccio in modo che lo script consideri solo i primi 350 messaggi ( theHorizon ). Questo dovrebbe essere abbastanza, ma non lo so davvero. Per confermare che il messaggio è stato effettivamente inviato negli ultimi 7 giorni, eseguo ogni messaggio attraverso un'istruzione if .

Quello che vorrei, tuttavia, è che l'istruzione repeat legga qualcosa del genere

repeat with myMessage in (get messages of myMailbox where date sent is less than 7 days ago)

Ovviamente non funziona, ho provato un sacco di formati diversi ma niente sembra funzionare correttamente.

Qualche idea?

    
posta Rob de Jonge 15.06.2018 - 08:06
fonte

1 risposta

4

Sì, è assolutamente possibile. Ecco un esempio che utilizza il mio account di posta IMAP, il cui nome è stato corretto per la privacy personale:

    tell application "Mail" to get the subject of ¬
        every message of mailbox "Sent" of ¬
        account "C*************.com" whose ¬
        date sent > ((current date) - days * 3)

Restituisce una lista contenente gli argomenti di ciascun messaggio postale che ho inviato negli ultimi 3 giorni.

Per applicare questo alla tua situazione specifica, crei un comando che assomiglia a questo:

    tell application "Mail" to repeat with myMessage in (the ¬
        messages of mailbox MySentMailbox of ¬
        account MyAccount whose ¬
        date sent > ((current date) - days * 7))
            .
            .
            .
    end repeat
    
risposta data 15.06.2018 - 09:24
fonte

Leggi altre domande sui tag