2010-12-16 27 views
7

में आईएमएपी प्रतिक्रियाओं को पार्स करना मैं पाइथन में आईमैप के साथ काम करने के लिए इमाप्लिब का उपयोग कर रहा हूं, हालांकि ऐसा लगता है कि इसका आईएमएपी प्रतिक्रियाओं के विवरण को पार्स करने का मतलब नहीं है। उदाहरण के लिए, क्वेरी की तरह:पाइथन

msgdata = connection.fetch(num, "(BODY.PEEK[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] UID)") 

जहां num संदेश संख्या है, एक मेल सर्वर के लिए (उदाहरण के लिए) का उत्पादन हो सकता है:

('OK', [('1234 (BODY[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] {123}', 'From: ...etc headers'), ' UID 3456)']) 

और एक अन्य के लिए:

('OK', [('1234 (UID 3456 BODY[HEADER.FIELDS (FROM TO CC DATE SUBJECT MESSAGE-ID)] {123}', 'From: ...etc headers'), ')']) 

के रूप में आप देखते हैं, संदेश विवरण अलग हैं और यूआईडी विभिन्न तत्वों में भी है। तो सवाल यह है - क्या ऐसी कुछ लाइब्रेरी है जो स्वचालित रूप से इसे सॉर्ट करने और उस विशेष मेल सर्वर के विवरण के सार को सारणी करने की अनुमति देगी?

उत्तर

6

डौग हेलमैन Python Module of the Week entry for imaplib इस विषय पर एक काफी व्यापक ट्यूटोरियल है, लेकिन यहां पुन: उत्पन्न करने के लिए बहुत लंबा समय है।

आप IMAP प्रोटोकॉल के कुछ विवरण छिपाने के लिए IMAPClient जैसे उच्च स्तरीय लाइब्रेरी का उपयोग करना चाह सकते हैं।

+0

दुर्भाग्यवश, डॉग के ट्यूटोरियल की तरह अधिक जटिल fetch() प्रतिक्रियाओं को पार्स करने के विषय पर ग्लाइड की तरह। IMAPClient के लिंक के लिए धन्यवाद, मैं इसे देख लूंगा। – StasM