मैं जीमेल खाते से सभी संदेश प्राप्त करने की कोशिश कर रहा हूं जिसमें कुछ बड़े अनुलग्नक (लगभग 30 एमबी) हो सकते हैं। मुझे सिर्फ फाइलों की जरूरत है, न कि पूरी फाइलें। मैं एक संदेश और लगाव का नाम प्राप्त करने के लिए कोड का एक टुकड़ा मिला, लेकिन यह फ़ाइल डाउनलोड करता है और फिर जैसा कि इसके नाम से पढ़ें:इसे डाउनलोड किए बिना जीमेल अटैचमेंट फ़ाइल नाम प्राप्त करें
import imaplib, email
#log in and select the inbox
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('username', 'password')
mail.select('inbox')
#get uids of all messages
result, data = mail.uid('search', None, 'ALL')
uids = data[0].split()
#read the lastest message
result, data = mail.uid('fetch', uids[-1], '(RFC822)')
m = email.message_from_string(data[0][1])
if m.get_content_maintype() == 'multipart': #multipart messages only
for part in m.walk():
#find the attachment part
if part.get_content_maintype() == 'multipart': continue
if part.get('Content-Disposition') is None: continue
#save the attachment in the program directory
filename = part.get_filename()
fp = open(filename, 'wb')
fp.write(part.get_payload(decode=True))
fp.close()
print '%s saved!' % filename
मैं इस एक मिनट में क्या करना है, तो मैं के सैकड़ों डाउनलोड नहीं कर सकता डेटा का एमबी। मैं वेब स्क्रिप्टिंग में नौसिखिया हूं, तो क्या कोई मेरी मदद कर सकता है? मुझे वास्तव में imaplib का उपयोग करने की आवश्यकता नहीं है, किसी भी पायथन lib मेरे लिए ठीक रहेगा।
सादर
आप जीमेल में केवल 20 एमबी भेज सकते हैं क्या आप जानते हैं? – 0x90
मेरा मतलब है सभी संदेशों में सभी अनुलग्नक। – mopsiok