2012-02-22 18 views
6

मेरा जीमेल पूरा हो रहा है ... मुझे इनबॉक्स से सबसे बड़ा ईमेल खोजने और इसे हटाने के लिए एक विधि की आवश्यकता है। हालांकि, जीमेल के वेब इंटरफेस में, मैं क्या कर सकता हूं, पहले संलग्नक के साथ ईमेल ढूंढना, और उसके बाद अटैचमेंट आकार को एक-एक करके जांचें।एक पायथन लिपि का उपयोग कर अपने जीमेल से सबसे बड़े ईमेल कैसे हटाएं?

दक्षता बहुत कम है!

मुझे एक पायथन स्क्रिप्ट भी मिलती है जो मेरे जीमेल खाते में लॉग इन कर सकती है और आईमैप प्रोटोकॉल के माध्यम से ईमेल पुनर्प्राप्त कर सकती है, लेकिन मुझे अनुलग्नक आकार की जांच करने का कोई तरीका नहीं मिला।

क्या कोई मेरी मदद कर सकता है? अग्रिम में धन्यवाद।

+0

आप थंडरबर्ड में अपने Gmail सेटअप और आकार के द्वारा तरह वहाँ – wim

उत्तर

4

इमेप लाइब्रेरी में खोज विधि है। आपके लिए कोड का उपयोग करने के लिए लगभग तैयार है।

#!/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

मैं imap_server.search, '(छोटे% d) (बड़ा% d)' का उपयोग कर रहा (कोई भी% कर सकते हैं (10 * 1024 * 1000, 5 * 1024 * 1000)), लेकिन त्रुटि होती है: imaplib.error: SEARCH कमांड त्रुटि: बीएडी ['कमांड पार्स नहीं कर सका'] – ciphor

+1

यह मेरे लिए काम करता है ... – iddqd

+1

आपका अजगर संस्करण क्या है? – ciphor