2014-05-15 17 views
7

से एकल संदेश हटाएं मैं आईमैप के माध्यम से Google ऐप्स से कनेक्ट करने के लिए मेलकिट (https://github.com/jstedfast/MailKit) का उपयोग कर रहा हूं, हालांकि मैं एक संदेश कैसे हटा सकता हूं? (मुझे कचरे में ले जाने के लिए ठीक है, बस इसे इनबॉक्स से बाहर करने की ज़रूरत है।मेलकिट जीमेल

अब तक मैंने इसे संदेश निकायों से लिंक को डाउनलोड, डाउनलोड, पार्स कर दिया है। मुझे बस एक आखिरी कार्रवाई की आवश्यकता है जो मुझे चाहिए ।!

धन्यवाद

+0

हालांकि आप केवल एक संदेश डाउनलोड करने की आवश्यकता है, मैं थोक संदेशों को हटाने [यहां] की एक पूरी तरह से काम कर रहा MailKit उदाहरण है (https://github.com/arthurspa/ DeleteEmailMessages)। एक संदेश को हटाने के लिए समान है। –

उत्तर

14

IMAP सर्वर पर एक फ़ोल्डर से संदेश हटाने के लिए, यह सब आपको बस इतना करना है:

client.Inbox.AddFlags (new int[] { index }, MessageFlags.Deleted); 

या

client.Inbox.AddFlags (new UniqueId[] { uid }, MessageFlags.Deleted); 

अब संदेश सर्वर पर \ हटाए गए के रूप में चिह्नित किया गया है।

फिर आप को फोन करके हटाए गए सभी आइटम के फ़ोल्डर शुद्ध कर सकते हैं:

client.Inbox.Expunge(); 

आप अनुक्रमणिका के बजाय UIDs उपयोग कर रहे हैं और IMAP सर्वर UIDPLUS विस्तार (client.Capabilities जांच) का समर्थन करता है, तो आप कर सकते हैं इस तरह संदेशों के सिर्फ एक चयनित सेट मिटाना:

if (client.Capabilities.HasFlag (ImapCapabilities.UidPlus)) 
    client.Inbox.Expunge (new UniqueId[] { uid });