java जावा ईमेल संदेश पार्सर?




parsing email (3)

जावामेल एक ऑरैकल लाइब्रेरी है जो javax.mail पैकेज में मेल सेवाएं और मेल संबंधित सेवाएं (जैसे पारंपरिक और एमआईएम संदेशों को पार्स करना) प्रदान करती है। इसके अतिरिक्त अपाचे में मेल हैंडलिंग के लिए कॉमन्स ईमेल लाइब्रेरी है।

जावामेल एपीआई में, एक ईमेल संदेश युक्त स्ट्रिंग को पार्स करने का एक आसान तरीका (जो स्पष्ट रूप से MIME हो सकता है या नहीं) निम्नानुसार होगा

String content = ...
Session s = Session.getInstance(new Properties());
InputStream is = new ByteArrayInputStream(content.getBytes());
MimeMessage message = new MimeMessage(s, is);

और हेडर को पार्स करना इस तरह किया जा सकता है

message.getAllHeaderLines();
for (Enumeration<Header> e = message.getAllHeaders(); e.hasMoreElements();) {
    Header h = e.nextElement();
    h.getName();
    h.getValue();
}

क्या कोई जावा लाइब्रेरी से परिचित है जो नीचे दिए गए ईमेल के फ़ील्ड (दिनांक, विषय, से, से) को पार्स करने में मदद करता है?

Message-ID: <[email protected]>
Date: Wed, 6 Mar 2010 12:32:20 -0800 (PST)
From: [email protected]
To: [email protected]
Subject: some subject
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-From: one, some <[email protected]>
X-To: one
X-cc: 
X-bcc: 
X-Folder: Bob\Inbox
X-Origin: Bob-R
X-FileName: rbob (Non-Privileged).pst


some message

मुझे जावामेल के साथ समस्याएं आई हैं (यह कुछ ईमेल संदेशों को पार्स करने में विफल रहता है जो इसे करना चाहिए)।

मेरे पास Mime4J साथ बहुत बेहतर परिणाम हैं।


मैं सुझाव email-mime-parser कि आप email-mime-parser उपयोग करें,

निम्नलिखित नमूना कोड आपको आवश्यक सभी प्रासंगिक जानकारी देता है:

ContentHandler contentHandler = new CustomContentHandler();

MimeConfig mime4jParserConfig = new MimeConfig();
BodyDescriptorBuilder bodyDescriptorBuilder = new DefaultBodyDescriptorBuilder();
MimeStreamParser mime4jParser = new MimeStreamParser(mime4jParserConfig,DecodeMonitor.SILENT,bodyDescriptorBuilder);
mime4jParser.setContentDecoding(true);
mime4jParser.setContentHandler(contentHandler);

InputStream mailIn = 'Provide email mime stream here';
mime4jParser.parse(mailIn);

Email email = ((CustomContentHandler) contentHandler).getEmail();

List<Attachment> attachments =  email.getAttachments();

Attachment calendar = email.getCalendarBody();
Attachment htmlBody = email.getHTMLEmailBody();
Attachment plainText = email.getPlainTextEmailBody();

String to = email.getToEmailHeaderValue();
String cc = email.getCCEmailHeaderValue();
String from = email.getFromEmailHeaderValue();




email-parsing