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 🙂