Obtener mensajes que se enviaron en los últimos 7 días (Applescript)

1

Como parte de mi rutina, reviso todos los correos electrónicos salientes una vez por semana para ver si alguno de ellos necesita ser marcado para su seguimiento. Quiero probar un enfoque diferente y en lugar de revisar mi correo enviado, me envío automáticamente un correo electrónico cada semana que enumera todos los correos electrónicos enviados la semana anterior.

Escribí un AppleScript que hace esto, pero contiene una ineficiencia que me gustaría eliminar.

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

Como mi correo enviado tiene decenas de miles de mensajes, hago que el script solo considere los primeros 350 mensajes ( theHorizon ). Esto debería ser suficiente, pero realmente no lo sé. Para confirmar que el mensaje fue enviado en los últimos 7 días, corrí cada mensaje a través de una declaración if .

Lo que me gustaría, sin embargo, es que la instrucción repeat lea algo como esto

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

Esto obviamente no funciona, he intentado un montón de formatos diferentes pero nada parece funcionar correctamente.

¿Algún pensamiento?

    
pregunta Rob de Jonge 15.06.2018 - 08:06

1 respuesta

4

Sí, eso es absolutamente posible. Este es un ejemplo de cómo utilizo mi cuenta de correo IMAP, cuyo nombre he redactado para mi privacidad personal:

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

Esto devuelve una lista que contiene los asuntos de cada mensaje de correo que envié en los últimos 3 días.

Para aplicar esto a su situación específica, crea un comando que se parece a esto:

    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
    
respondido por el CJK 15.06.2018 - 09:24

Lea otras preguntas en las etiquetas