Tenía la necesidad de procesar un largo mbox para poder extraer los archivos y analizarlos. En definitiva, en Gmail tengo una cuenta de correo donde una simple camara notifica.
En Gmail, agrupo todo estos correos en una etiqueta y directamente en https://takeout.google.com/ Pides la descargar estos correos.
Luego, con Python es super sencillo poder procesar y extraer todas las imagenes. (puede ser aplicado a archivos dentro del correo, texto, subjects, etc…)
Código que utilicé
import mailbox file = '/mi/archivo.mbox' mbox = mailbox.mbox(file) for message in mbox: for part in message.get_payload(): fp = open(part.get_filename(), 'wb') fp.write(part.get_payload(decode=True)) fp.close()
Solo 7 líneas de código en Python 🙂