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

EWS का उपयोग करके संदेशों को फ़िल्टर और सॉर्ट करें

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

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

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

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

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

आज की तिथि द्वारा

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

तारीख सीमा द्वारा

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

प्रेषक द्वारा

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

डोमेन द्वारा

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

प्राप्तकर्ता द्वारा

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

MessageID द्वारा

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

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

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

संदेश आकार द्वारा

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

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

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

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

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

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

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

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

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

फ़िल्टर किए गए संदेशों को आरोही/अवरोही क्रम में सॉर्ट करें

ईमेल फ़िल्टरिंग को संदेशों को आरोही/अवरोही क्रम में सॉर्ट करने के साथ समर्थित किया जा सकता है। इस मामले में, OrderBy यह मेथड MailQueryBuilder क्लास का उपयोग करके ईमेल सर्च परिणामों के सॉर्ट क्रम को निर्धारित करने के लिए प्रयोग किया जाता है। यह आपको खोज क्वेरी के लिए सॉर्टिंग मानदंड परिभाषित करने की अनुमति देता है, चाहे परिणाम किसी विशेष प्रॉपर्टी के आधार पर आरोही हों या अवरोही।

यह मेथड ascending पैरामीटर स्वीकार करता है, जो निर्दिष्ट प्रॉपर्टी के लिए सॉर्ट क्रम को निर्धारित करता है। यदि ascending true है, तो खोज परिणाम आरोही क्रम में सॉर्ट किए जाएंगे। यदि false है, तो परिणाम अवरोही क्रम में सॉर्ट होंगे।

MailQueryBuilder builder = new MailQueryBuilder();
builder.Subject.Contains("Report");
builder.InternalDate.Since(new DateTime(2020, 1, 1));
builder.Subject.OrderBy(true); // sort the subject ascending
builder.InternalDate.OrderBy(false); // sort the date descending

MailQuery query = builder.GetQuery();

// Get list of messages
ExchangeMessageInfoCollection messages = client.ListMessages(client.MailboxInfo.InboxUri, query, false);

ऊपर के कोड स्निपेट में, OrderBy मेथड दो बार लागू किया गया है, एक बार विषय के लिए और एक बार ईमेल की तिथि के लिए। ListMessages मेथड को पास किए गए अनुरोध के साथ निष्पादित करने के परिणामस्वरूप हमें उन संदेशों की सूची मिलेगी जिनके विषय में "Report" शब्द है और जो निर्दिष्ट तिथि या उसके बाद प्राप्त हुए हैं। साथ ही, परिणाम विषय के आरोही क्रम में सॉर्ट किए जाएंगे, अर्थात् A से Z तक वर्णक्रमानुसार। परिणाम तिथि के अवरोही क्रम में भी सॉर्ट किए जाएंगे, अर्थात् सबसे नए से पुराने तक।

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

Aspose.Email for .NET के साथ, उपयोगकर्ता Advanced Query Syntax (AQS) की शक्तिशाली क्षमताओं का उपयोग करके सीधे Exchange मेलबॉक्स से संदेशों को फ़िल्टर कर सकते हैं। AQS एक मजबूत और सहज तरीका प्रदान करता है जिससे आप तिथि, प्रेषक और विषय जैसे विशिष्ट मानदंडों के आधार पर ईमेल को सटीक रूप से लक्षित करने के लिए क्वेरी बना सकते हैं। इसके आपके ईमेल फ़िल्टरिंग प्रक्रियाओं में एकीकरण और Aspose.Email for .NET के साथ AQS का उपयोग करके संदेश फ़िल्टरिंग को लागू करने के विस्तृत कोड उदाहरणों के लिए, कृपया देखें Exchange मेलबॉक्स से AQS के साथ संदेशों को फ़िल्टर करें लेख।