जीमेल के साथ imaplib उपयोग करने के लिए सबसे आसान तरीका है Gmail Imap Extensions page में वर्णित के रूप X-GM-RAW
विशेषता का उपयोग करने के लिए है।
प्रक्रिया कुछ इस तरह होगा:
पहले उचित ईमेल और पासवर्ड से खाते से कनेक्ट:
c.select("INBOX")
:
c = imaplib.IMAP4_SSL('imap.gmail.com', 993)
email = '[email protected]'
password = 'spamspamspam'
c.login(email, password)
फिर फ़ोल्डरों/लेबल में से एक से कनेक्ट
यदि आवश्यक हो, तो आप c.list()
के साथ सभी उपलब्ध फ़ोल्डर्स/लेबल सूचीबद्ध कर सकते हैं।
अंत में, खोज विधि का उपयोग करें:
gmail_search = "has:attachment eggs OR spam"
status, data = c.search(None, 'X-GM-RAW', gmail_search)
में gmail_search
आप gmail advanced search में इस्तेमाल एक ही खोज सिंटैक्स का उपयोग कर सकते हैं।
खोज कमांड कमांड की स्थिति और आपके gmail_search से मेल खाने वाले सभी संदेशों की आईडी वापस कर देगा।
इस के बाद आप के साथ आईडी द्वारा प्रत्येक संदेश लाने के कर सकते हैं:
for id in data[0].split():
status, data = gmail.fetch(id, '(BODY[TEXT])')
यह सच नहीं है। आप conn.select ("कुछ लेबल-नाम") नहीं कर सकते हैं। –
@pyrony: हाँ, आप कर सकते हैं। जीमेल ** लेबल ** शीर्ष-स्तर के IMAP ** मेलबॉक्स ** के रूप में उजागर किए गए हैं। मुझे यकीन नहीं है कि उन्होंने आईएमएपी कीवर्ड के रूप में उन्हें बेनकाब करने के बजाए ऐसा करने का फैसला क्यों किया, लेकिन जीमेल ने ऐसा करने का फैसला किया। – dkarp