सबसे पहले, IMAP में, कोई आवश्यकता नहीं है जिसका अर्थ यह होगा कि FETCH BODYSTRUCTURE
संलग्नक के साथ पूरा संदेश डेटा स्थानांतरित होगा। या तो आपकी धारणा गलत है, या आपकी IMAP लाइब्रेरी में गंभीर बग है, या आप यहां गलत फ़ंक्शन का उपयोग कर रहे हैं।
दूसरा, आपने यूआईडी पर नज़र रखने का उल्लेख किया है लेकिन UIDVALIDITY
के बारे में कुछ नहीं कहा है . पढ़ें RFC 3501
इसका अर्थ समझने के लिए। प्रोटोकॉल को जाने बिना IMAP से बात करने वाले किसी एप्लिकेशन को सही तरीके से लागू करने का कोई तरीका नहीं है। आगे के संकेत RFC 4549
में भी दिए गए हैं। ।
आपका तीसरा प्रश्न हटाए गए या स्थानांतरित किए गए आइटम मांगने के बारे में है। बेसलाइन IMAP में, आप ऐसा नहीं कर सकते। यह जानने का एकमात्र तरीका है कि कौन से संदेश हटा दिए गए हैं और कौन से नए आगमन हैं, यूआईडी को स्पष्ट रूप से ट्रैक करना है -- UIDVALIDITY
को मानते हुए दिया गया था और बदला नहीं गया था, आप पिछली बार से यूआईडी की सूची की तुलना अब जो आपको मिली है, और देखें कि कौन से नए हैं और कौन से चले गए हैं। फिर से, RFC पढ़ें, उनमें आपके सभी प्रश्नों के उत्तर के साथ-साथ सिंक्रनाइज़ेशन प्रक्रिया को अनुकूलित करने के सुझाव भी शामिल हैं। एक IMAP के बारे में थीसिस
भी है। जो प्रोटोकॉल चैट को और बेहतर बनाने के तरीके और कौन से एक्सटेंशन प्रासंगिक हैं, इस बारे में अधिक विस्तार से बताता है। हालांकि, यह कोई आसान प्रोजेक्ट नहीं है।