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

Como parte de mi rutina, reviso todos los correos electrónicos salientes una vez cada 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 sentencia if .

Lo que me gustaría, sin embargo, es que la statement de 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.

¿Alguna idea?

Sí, eso es absolutamente posible. Aquí hay un ejemplo que utiliza mi cuenta de correo IMAP, cuyo nombre he rediseñado 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