WebDav का उपयोग करके Exchange मेलबॉक्स से संदेश फ़िल्टर करें

WebDav का उपयोग करके संदेश फ़िल्टर करना

यह ExchangeClient class प्रदान करता है ListMessages() वह विधि जो एक मेलबॉक्स से सभी संदेश प्राप्त करती है। केवल उन संदेशों को प्राप्त करने के लिए जो किसी शर्त से मेल खाते हैं, ओवरलोडेड का उपयोग करें ListMessages() वह विधि जो लेती है MailQuery class को एक आर्ग्युमेंट के रूप में। यह MailQuery क्लास विभिन्न प्रॉपर्टीज़ प्रदान करता है जो शर्तें निर्दिष्ट करती हैं, जैसे कि तिथि, विषय, प्रेषक, और प्राप्तकर्ता। अतिरिक्त रूप से, API मेलबॉक्स से ईमेल प्राप्त करने के लिए केस-सेंसिटिविटी फ़िल्टर लागू करने की भी अनुमति देता है।

संदेश फ़िल्टरिंग

मेलबॉक्स से फ़िल्टर किए गए संदेश प्राप्त करने के लिए:

  1. Exchange सर्वर से कनेक्ट करें।
  2. का एक इंस्टेंस बनाएं MailQuery और वांछित प्रॉपर्टीज़ सेट करें।
  3. कॉल करें ExchangeClient.ListMessages() विधि और पास करें MailQuery पैरामीटर्स में केवल फ़िल्टर किए गए संदेश प्राप्त करने के लिए।

निम्न कोड स्निपेट दर्शाता है कि कैसे IMAP मेलबॉक्स से कनेक्ट करें और उन संदेशों को प्राप्त करें जिनके विषय में "Newsletter" स्ट्रिंग है और जो आज भेजे गए थे।

मानदंड पर संदेश फ़िल्टर करें

ऊपर के कोड नमूने ईमेल विषय और तिथि के आधार पर संदेशों को फ़िल्टर करते हैं। हम अन्य प्रॉपर्टीज़ पर भी फ़िल्टर कर सकते हैं। नीचे कुछ उदाहरण हैं जो स्थितियों को सेट करने के लिए उपयोग किए गए हैं MailQuery.

फ़िल्टर मानदंड आज की तिथि

निम्न कोड स्निपेट दर्शाता है कि आज की तारीख के आधार पर सभी ईमेल को कैसे फ़िल्टर करें।

तिथि रेंज के लिए फ़िल्टर मानदंड

निम्नलिखित कोड स्निपेट दिखाता है कि सभी ईमेल को तिथि रेंज के आधार पर कैसे फ़िल्टर करें।

विशिष्ट प्रेषक के लिए फ़िल्टर मानदंड

निम्नलिखित कोड स्निपेट दिखाता है कि सभी ईमेल को एक विशिष्ट प्रेषक के आधार पर कैसे फ़िल्टर करें।

विशिष्ट डोमेन के लिए फ़िल्टर मानदंड

निम्नलिखित कोड स्निपेट दिखाता है कि सभी ईमेल को एक विशिष्ट डोमेन के आधार पर कैसे फ़िल्टर करें।

विशिष्ट प्राप्तकर्ता के लिए फ़िल्टर मानदंड

निम्नलिखित कोड स्निपेट दिखाता है कि सभी ईमेल को एक विशिष्ट प्राप्तकर्ता के आधार पर कैसे फ़िल्टर करें।

MessageID द्वारा फ़िल्टर मानदंड

निम्नलिखित कोड स्निपेट दिखाता है कि सभी ईमेल को MessageID के आधार पर कैसे फ़िल्टर करें।

सभी मेल डिलीवरी नोटिफिकेशन के लिए फ़िल्टर मानदंड

निम्नलिखित कोड स्निपेट दिखाता है कि सभी ईमेल को सभी मेल डिलीवरी नोटिफिकेशन्स के आधार पर कैसे फ़िल्टर करें।

जटिल क्वेरियों का निर्माण

यदि विभिन्न ExchangeQueryBuilder गुणधर्म एक अलग कथन में सेट किए जाते हैं, सभी शर्तें मिलती हैं। उदाहरण के लिए, किसी विशिष्ट तिथि सीमा में और एक विशेष होस्ट से संदेश प्राप्त करने के लिए, तीन कथन लिखें:

AND के साथ क्वेरीज़ को संयोजित करना

निम्नलिखित कोड स्निपेट दिखाता है कि AND के साथ क्वेरीज़ को कैसे संयोजित किया जाए।

OR के साथ क्वेरीज़ को संयोजित करना

ExchangeQueryBuilder प्रदान करता है Or() मेथड जो दो लेता है MailQueryइंस्टेंस को पैरामीटर के रूप में। यह उन संदेशों को प्राप्त करता है जो निर्दिष्ट दो शर्तों में से किसी एक से मेल खाते हैं। नीचे का उदाहरण उन संदेशों को फ़िल्टर करता है जिनके विषय में शब्द “test” है या प्रेषक “noreply@host.com” है। निम्नलिखित कोड स्निपेट दिखाता है कि कैसे OR के साथ क्वेरी को संयोजित किया जाए।

केस-सेंसिटिव ईमेल फ़िल्टरिंग

फ़िल्टर मानदंड में IgnoreCase फ़्लैग निर्दिष्ट करके ईमेल को केस‑सेंसिटिविटी के आधार पर फ़िल्टर किया जा सकता है, जैसा कि नीचे कोड स्निपेट में दिखाया गया है।