2012-02-22 9 views
6

Mi gmail se está completando ... Necesito un método para averiguar el correo electrónico más grande de la Bandeja de entrada y eliminarlo. Sin embargo, en la interfaz web de gmail, lo que puedo hacer es buscar primero los correos electrónicos con archivos adjuntos y luego verificar el tamaño del archivo adjunto uno por uno.¿Cómo eliminar los correos más grandes de mi cuenta de gmail usando un script de python?

¡La eficiencia es muy baja!

También encontré un script de python que podía iniciar sesión en mi cuenta de gmail y recuperar correos electrónicos, a través del protocolo imap, pero no encontré una forma de verificar el tamaño del archivo adjunto.

¿Alguien podría ayudarme? Gracias por adelantado.

+0

puede configurar su cuenta de Gmail en Thunderbird y clasificar por tamaño no – wim

Respuesta

4

La biblioteca de Imap tiene un método de búsqueda. Hay un código casi listo para usar para usted.

#!/usr/bin/env python 
import imaplib 
from re import findall 

MAXSIZE = 1000 
MINSIZE = 1 

m = imaplib.IMAP4_SSL('imap.gmail.com') 
m.login('[email protected]','testPassword') 
m.select() 
typ, data = m.search(None, 'ALL') 
typ, data = m.search(None,'(SMALLER %d) (LARGER %d)' % (MAXSIZE * 1000,MINSIZE * 1000)) 
for num in data[0].split(): 
    typ, data = m.fetch(num, '(RFC822)') 
    print 'Message %s\n%s\n' % (num, len(data[0][1])) 
m.close() 
m.logout() 
+0

estoy usando imap_server.search (Ninguna, '(MENOR% d) (más grande% d)' % (10 * 1024 * 1000, 5 * 1024 * 1000)), pero ocurre un error: imaplib.error: error del comando SEARCH: BAD ['No se pudo analizar el comando'] – ciphor

+1

Funciona para mí ... – iddqd

+1

¿cuál es su versión de python? – ciphor

Cuestiones relacionadas