ईमेल्स से संदेश सामग्री निकालना

स्क्रीन पर ईमेल जानकारी दिखाना

यह MailMessage एक ईमेल संदेश को दर्शाता है और डेवलपर्स को ईमेल संदेश की प्रॉपर्टीज़ तक पहुंच प्रदान करता है। हेडर जानकारी (जिसपर चर्चा की गई है ईमेल हेडर्स निकालना) को विभिन्न तरीकों से निकाला और संशोधित किया जा सकता है। यह लेख बताता है कि चयनित ईमेल हेडर जानकारी और ईमेल बॉडी को स्क्रीन पर कैसे दिखाएँ।

  1. MailMessage की एक इंस्टेंस बनाएँ।
  2. ईमेल संदेश को MailMessage इंस्टेंस में लोड करें।
  3. ईमेल की सामग्री स्क्रीन पर दिखाएँ।

नीचे का कोड दर्शाता है कि ईमेल संदेश को कैसे लोड करें और उसकी सामग्री - प्रेषक, प्राप्तकर्ता, विषय और ईमेल बॉडी - स्क्रीन पर कैसे दिखाएँ।

संदेश तिथि समय प्राप्त करना

यह MailMessage क्लास का उपयोग UTC या स्थानीय टाइमज़ोन में संदेश की तिथि प्राप्त करने के लिए किया जा सकता है। यह जानकारी निम्नानुसार संक्षेपित की जा सकती है:

  1. MailMessage.getDate() - UTC में तिथि लौटाता है
  2. MailMessage.getLocalDate() - स्थानीय टाइमज़ोन में दिनांक लौटाता है।
  3. MailMessage.isLocalDate यदि MailMessage.getDate() स्थानीय टाइमज़ोन में है तो true लौटाता है।

ईमेल हेडर्स निकालना

ईमेल हेडर इंटरनेट और RFC द्वारा परिभाषित मानक हेडर फ़ील्ड्स का सेट दर्शाता है जो इंटरनेट ईमेल संदेशों में शामिल होते हैं। एक ईमेल हेडर को उपयोग करके निर्दिष्ट किया जा सकता है MailMessage क्लास। सामान्य हेडर टाइप्स इस में परिभाषित होते हैं: HeaderType क्लास। यह एक सीलबंद क्लास है जो सामान्य एन्यूमरेशन की तरह काम करती है।

ईमेल से हेडर्स निकालने के लिए इन चरणों का पालन करें:

  1. MailMessage क्लास की एक इंस्टेंस बनाएँ।
  2. MailMessage क्लास की इंस्टेंस में ईमेल संदेश लोड करें।
  3. ईमेल संदेश लोड होने के बाद, हम उसकी कच्ची सामग्री प्राप्त करेंगे। MailMessage क्लास में स्वयं From, To, Cc, Subject आदि जैसी प्रॉपर्टीज़ होती हैं। इन प्रॉपर्टीज़ को हेडर्स से निकाला जा सकता है।
  4. कच्ची सामग्री दिखाएँ।

डिकोडेड हेडर मान प्राप्त करें

लिंक्ड रिसोर्स डिस्पोज़िशन हेडर प्राप्त करें और संशोधित करें

लिंक्ड रिसोर्स को ईमेल संदेश ऑब्जेक्ट में प्रोग्रामेटिक रूप से एक्सेस और मॉडिफ़ाई किया जा सकता है। यह getContentDisposition() विधि LinkedResource क्लास Content-Disposition हेडर प्राप्त करता है। नीचे दिया गया कोड उदाहरण दिखाता है कि लिंक्ड रिसोर्स की फ़ाइलनाम को कैसे एक्सेस और संशोधित किया जाए:

MailMessage eml = MailMessage.load(fileName);
eml.getLinkedResources().get_Item(0).getContentDisposition().setFileName("changed.png");

HTML बॉडी को प्लेन टेक्स्ट के रूप में प्राप्त करें

यह MailMessage क्लास संदेश के HTML बॉडी को प्लेन टेक्स्ट के रूप में निकालने की सुविधा प्रदान करता है। MailMessage क्लास एक GetHtmlBodyText वह मेथड जो HTML बॉडी को प्लेन टेक्स्ट में लौटाता है। GetHtmlBodyText मेथड एक बूलियन पैरामीटर स्वीकार करता है जो बताता है कि बॉडी में URLs शामिल हों या नहीं। पैरामीटर को true पास करने से HTML बॉडी में URLs शामिल होंगे।

निम्नलिखित कोड स्निपेट GetHtmlBodyText मेथड के उपयोग को दर्शाता है जो ईमेल के HTML बॉडी को प्लेन टेक्स्ट के रूप में निकालता है।

ईमेल्स से X.500 एक्सचेंज पते प्राप्त करें

Aspose.Email for Java आपको X.500 एक्सचेंज पते सीधे एक्सेस करने की सुविधा देता है MailAddress क्लास। इसके साथ X500Address प्रॉपर्टी, जब उपलब्ध हो तो आप एक्सचेंज X.500 फॉर्मेट में ईमेल पता प्राप्त कर सकते हैं। निम्नलिखित कोड नमूना दिखाता है कि ईमेल संदेश को कैसे लोड करें और प्रेषक का X.500 पता कैसे प्राप्त करें:

MailMessage mailMessage = MailMessage.load(fileName);
String exaddr = mailMessage.getFrom().getX500Address();

यदि X.500 पता मौजूद है, तो इसे स्ट्रिंग के रूप में लौटाया जाएगा और एक्सचेंज-आधारित सिस्टम के साथ इंटरैक्ट करने वाले एप्लिकेशन्स में आगे प्रोसेसिंग या लॉगिंग के लिए उपयोग किया जा सकता है।

HTML ईमेल में लिंक्ड इमेजेज़ को अटैचमेंट के रूप में निकालें और एम्बेड करें

Aspose.Email ExtractHTMLBodyResourcesAsAttachments विधि HtmlSaveOption क्लास यह निर्धारित करता है कि HTML बॉडी रिसोर्सेज़ को अटैचमेंट्स के रूप में निकाला जाए या नहीं। इस प्रकार, आप HTML बॉडी से इमेज-लिंक्ड कंटेंट निकाल कर उसे MIME संदेश में अटैचमेंट के रूप में एम्बेड कर सकते हैं। लिंक्ड इमेजेज़ को संरक्षित रखा जाता है और ईमेल के साथ सही ढंग से संबद्ध किया जाता है, जिससे कंटेंट की अखंडता और ऑफ़लाइन एक्सेसिबिलिटी में सुधार होता है।

निम्नलिखित कोड नमूना दिखाता है कि इस कार्य को कैसे किया जाए:

MailMessage mailMessage = MailMessage.load("input.eml");
HtmlSaveOptions options = new HtmlSaveOptions();
options.setExtractHTMLBodyResourcesAsAttachments(true);
options.setResourceHtmlRenderingHandler(new ResourceHtmlRenderingHandler() {
    public void invoke(final Object sender, final ResourceHtmlRenderingEventArgs e) {
        System.out.println(e.getPathToResourceFile() + " " + ((Attachment)sender).getContentId());
    }
});