List of usage examples for org.apache.commons.mail.util MimeMessageParser getPlainContent
public String getPlainContent()
From source file:gmailclientfx.core.GmailClient.java
public static MyMessage fetchMessage(MimeMessage m, int tblIndex, String lbl) { MyMessage myMsg = null;//www .j a v a 2s . c o m try { MimeMessage msg = new MimeMessage(m); MimeMessageParser parser = new MimeMessageParser(msg); parser.parse(); String naslov = parser.getSubject(); String from = parser.getFrom(); List<Address> to = parser.getTo();//msg.getRecipients(javax.mail.Message.RecipientType.TO); String toStr = to.toString().replace("[", "").replace("]", ""); if (toStr.equals("")) toStr = GmailClient.getEmail(); String body = ""; if (parser.hasHtmlContent()) body = parser.getHtmlContent(); else body = parser.getPlainContent(); String date = msg.getSentDate().toString(); String label = lbl; myMsg = new MyMessage(User.getUserId(GmailClient.getEmail()), naslov, from, toStr, body, date, label); myMsg.setTblId(tblIndex); } catch (MessagingException ex) { Logger.getLogger(GmailClient.class.getName()).log(Level.SEVERE, null, ex); } catch (Exception ex) { Logger.getLogger(GmailClient.class.getName()).log(Level.SEVERE, null, ex); } return myMsg; }
From source file:com.garethahealy.elasticpostman.scraper.entities.EmailContent.java
public void parse() throws Exception { Session session = Session.getDefaultInstance(new Properties()); MimeMessage message = MimeMessageUtils.createMimeMessage(session, raw); MimeMessageParser mimeMessageParser = new MimeMessageParser(message); MimeMessageParser parsed = mimeMessageParser.parse(); this.from = parsed.getFrom(); this.subject = parsed.getSubject(); this.content = parsed.getPlainContent(); this.contentIds = parsed.getContentIds(); this.sentDate = new DateTime(parsed.getMimeMessage().getSentDate()); this.headers = new HashMap<String, String>(); @SuppressWarnings("unchecked") EnumerationIterator it = new EnumerationIterator(parsed.getMimeMessage().getAllHeaders()); while (it.hasNext()) { Object current = it.next(); if (current instanceof Header) { Header header = (Header) current; if (includeHeader(header.getName())) { headers.put(header.getName(), sanatizeValue(header.getName(), header.getValue())); }/*from w ww . j a va 2 s . c o m*/ } } }
From source file:info.debatty.java.datasets.enron.Email.java
Email(final String raw, final String mailbox) throws MessagingException, Exception { this.raw = raw; String[] strings = mailbox.split(File.separator, 2); this.user = strings[0]; this.mailbox = strings[1]; Session s = Session.getDefaultInstance(new Properties()); InputStream is = new ByteArrayInputStream(raw.getBytes()); MimeMessage message = new MimeMessage(s, is); MimeMessageParser parser = new MimeMessageParser(message); from = parser.getFrom();/* www . j av a 2s . c om*/ to = addressToString(parser.getTo()); cc = addressToString(parser.getCc()); bcc = addressToString(parser.getBcc()); subject = parser.getSubject(); content = parser.getPlainContent(); message_id = parser.getMimeMessage().getMessageID(); }
From source file:com.opinionlab.woa.Awesome.java
public Awesome(Message message) { try {/*ww w .j a v a2 s . c o m*/ this.messageID = ((MimeMessage) message).getMessageID(); this.id = ID_PTN.matcher(this.messageID).replaceAll("_"); this.receivedDate = message.getReceivedDate(); this.monthDay = DATE_FORMATTER .format(LocalDateTime.ofInstant(receivedDate.toInstant(), systemDefault())); this.to = new Person((InternetAddress) //todo Do this smarter message.getRecipients(Message.RecipientType.TO)[0]); this.from = new Person((InternetAddress) message.getFrom()[0]); this.subject = message.getSubject(); final MimeMessageParser parser = new MimeMessageParser((MimeMessage) message).parse(); if (!parser.hasPlainContent()) { LOGGER.error(format("Unable to parse message '%s'; has no plain content", this.messageID)); this.comment = "Unknown content."; } else { this.comment = parseContent(parser.getPlainContent()); } } catch (Throwable t) { throw new IllegalArgumentException(t); } }
From source file:com.jaeksoft.searchlib.crawler.mailbox.crawler.MailboxAbstractCrawler.java
final public void readMessage(IndexDocument crawlIndexDocument, IndexDocument parserIndexDocument, Folder folder, Message message, String id) throws Exception { crawlIndexDocument.addString(MailboxFieldEnum.message_id.name(), id); crawlIndexDocument.addString(MailboxFieldEnum.message_number.name(), Integer.toString(message.getMessageNumber())); if (message instanceof MimeMessage) crawlIndexDocument.addString(MailboxFieldEnum.content_id.name(), ((MimeMessage) message).getContentID()); crawlIndexDocument.addString(MailboxFieldEnum.subject.name(), message.getSubject()); putAddresses(crawlIndexDocument, message.getFrom(), MailboxFieldEnum.from_address.name(), MailboxFieldEnum.from_personal.name()); putAddresses(crawlIndexDocument, message.getReplyTo(), MailboxFieldEnum.reply_to_address.name(), MailboxFieldEnum.reply_to_personal.name()); putAddresses(crawlIndexDocument, message.getRecipients(RecipientType.TO), MailboxFieldEnum.recipient_to_address.name(), MailboxFieldEnum.recipient_to_personal.name()); putAddresses(crawlIndexDocument, message.getRecipients(RecipientType.CC), MailboxFieldEnum.recipient_cc_address.name(), MailboxFieldEnum.recipient_cc_personal.name()); putAddresses(crawlIndexDocument, message.getRecipients(RecipientType.BCC), MailboxFieldEnum.recipient_bcc_address.name(), MailboxFieldEnum.recipient_bcc_personal.name()); Date dt = message.getSentDate(); if (dt != null) crawlIndexDocument.addString(MailboxFieldEnum.send_date.name(), dt.toString()); dt = message.getReceivedDate();//from w w w . ja v a 2s . c o m if (dt != null) crawlIndexDocument.addString(MailboxFieldEnum.received_date.name(), dt.toString()); if (message.isSet(Flag.ANSWERED)) crawlIndexDocument.addString(MailboxFieldEnum.flags.name(), "ANSWERED"); if (message.isSet(Flag.DELETED)) crawlIndexDocument.addString(MailboxFieldEnum.flags.name(), "DELETED"); if (message.isSet(Flag.DRAFT)) crawlIndexDocument.addString(MailboxFieldEnum.flags.name(), "DRAFT"); if (message.isSet(Flag.FLAGGED)) crawlIndexDocument.addString(MailboxFieldEnum.flags.name(), "FLAGGED"); if (message.isSet(Flag.SEEN)) crawlIndexDocument.addString(MailboxFieldEnum.flags.name(), "SEEN"); if (message instanceof MimeMessage) { MimeMessageParser mimeMessageParser = new MimeMessageParser((MimeMessage) message).parse(); crawlIndexDocument.addString(MailboxFieldEnum.html_content.name(), mimeMessageParser.getHtmlContent()); crawlIndexDocument.addString(MailboxFieldEnum.plain_content.name(), mimeMessageParser.getPlainContent()); for (DataSource dataSource : mimeMessageParser.getAttachmentList()) { crawlIndexDocument.addString(MailboxFieldEnum.email_attachment_name.name(), dataSource.getName()); crawlIndexDocument.addString(MailboxFieldEnum.email_attachment_type.name(), dataSource.getContentType()); if (parserSelector == null) continue; Parser attachParser = parserSelector.parseStream(null, dataSource.getName(), dataSource.getContentType(), null, dataSource.getInputStream(), null, null, null); if (attachParser == null) continue; List<ParserResultItem> parserResults = attachParser.getParserResults(); if (parserResults != null) for (ParserResultItem parserResult : parserResults) crawlIndexDocument.addFieldIndexDocument(MailboxFieldEnum.email_attachment_content.name(), parserResult.getParserDocument()); } } }
From source file:gmailclientfx.models.FetchMessageCallable.java
public MyMessage fetchMessage(MimeMessage m, int tblIndex, String lbl) throws MessagingException, Exception { MimeMessage msg = new MimeMessage(m); MimeMessageParser parser = new MimeMessageParser(msg); parser.parse();//from w ww .j a v a 2 s. co m String naslov = parser.getSubject(); String from = parser.getFrom(); Address[] to = msg.getRecipients(Message.RecipientType.TO); String toStr = ""; if (to.length > 1) { for (int k = 0; k < to.length; k++) { if (k == to.length - 1) toStr += to[k].toString(); else toStr += to[k].toString() + ","; } } else { toStr = to[0].toString(); } String body = parser.getHtmlContent(); if (body.equals("")) body = parser.getPlainContent(); String date = msg.getSentDate().toString(); String label = lbl; MyMessage myMsg = new MyMessage(User.getUserId(GmailClient.getEmail()), naslov, from, toStr, body, date, label); myMsg.setTblId(tblIndex); return myMsg; }
From source file:com.opensearchserver.extractor.parser.Eml.java
@Override protected void parseContent(InputStream inputStream, String extension, String mimeType) throws Exception { Session session = Session.getDefaultInstance(JAVAMAIL_PROPS); MimeMessage mimeMessage = new MimeMessage(session, inputStream); MimeMessageParser mimeMessageParser = new MimeMessageParser(mimeMessage).parse(); ParserDocument document = getNewParserDocument(); String from = mimeMessageParser.getFrom(); if (from != null) document.add(FROM, from.toString()); for (Address address : mimeMessageParser.getTo()) document.add(RECIPIENT_TO, address.toString()); for (Address address : mimeMessageParser.getCc()) document.add(RECIPIENT_CC, address.toString()); for (Address address : mimeMessageParser.getBcc()) document.add(RECIPIENT_BCC, address.toString()); document.add(SUBJECT, mimeMessageParser.getSubject()); document.add(HTML_CONTENT, mimeMessageParser.getHtmlContent()); document.add(PLAIN_CONTENT, mimeMessageParser.getPlainContent()); document.add(SENT_DATE, mimeMessage.getSentDate()); document.add(RECEIVED_DATE, mimeMessage.getReceivedDate()); for (DataSource dataSource : mimeMessageParser.getAttachmentList()) { document.add(ATTACHMENT_NAME, dataSource.getName()); document.add(ATTACHMENT_TYPE, dataSource.getContentType()); // TODO Extract content from attachmend // if (parserSelector != null) { // Parser attachParser = parserSelector.parseStream( // getSourceDocument(), dataSource.getName(), // dataSource.getContentType(), null, // dataSource.getInputStream(), null, null, null); // if (attachParser != null) { // List<ParserResultItem> parserResults = attachParser // .getParserResults(); // if (parserResults != null) // for (ParserResultItem parserResult : parserResults) // result.addField( // ParserFieldEnum.email_attachment_content, // parserResult); // }/*from w w w. j av a 2s.c om*/ // } } if (StringUtils.isEmpty(mimeMessageParser.getHtmlContent())) document.add(LANG_DETECTION, languageDetection(document, PLAIN_CONTENT, 10000)); else document.add(LANG_DETECTION, languageDetection(document, HTML_CONTENT, 10000)); }
From source file:com.qwazr.library.email.EmlParser.java
@Override public void parseContent(final MultivaluedMap<String, String> parameters, final InputStream inputStream, final String extension, final String mimeType, final ParserResultBuilder resultBuilder) throws Exception { final Session session = Session.getDefaultInstance(JAVAMAIL_PROPS); resultBuilder.metas().set(MIME_TYPE, findMimeType(extension, mimeType, this::findMimeTypeUsingDefault)); final MimeMessage mimeMessage = new MimeMessage(session, inputStream); final MimeMessageParser mimeMessageParser = new MimeMessageParser(mimeMessage).parse(); ParserFieldsBuilder document = resultBuilder.newDocument(); final String from = mimeMessageParser.getFrom(); if (from != null) document.add(FROM, from);/* ww w.j a v a 2s . c om*/ for (Address address : mimeMessageParser.getTo()) document.add(RECIPIENT_TO, address.toString()); for (Address address : mimeMessageParser.getCc()) document.add(RECIPIENT_CC, address.toString()); for (Address address : mimeMessageParser.getBcc()) document.add(RECIPIENT_BCC, address.toString()); document.add(SUBJECT, mimeMessageParser.getSubject()); document.add(HTML_CONTENT, mimeMessageParser.getHtmlContent()); document.add(PLAIN_CONTENT, mimeMessageParser.getPlainContent()); document.add(SENT_DATE, mimeMessage.getSentDate()); document.add(RECEIVED_DATE, mimeMessage.getReceivedDate()); for (DataSource dataSource : mimeMessageParser.getAttachmentList()) { document.add(ATTACHMENT_NAME, dataSource.getName()); document.add(ATTACHMENT_TYPE, dataSource.getContentType()); // TODO Extract content from attachmend // if (parserSelector != null) { // Parser attachParser = parserSelector.parseStream( // getSourceDocument(), dataSource.getName(), // dataSource.getContentType(), null, // dataSource.getInputStream(), null, null, null); // if (attachParser != null) { // List<ParserResultItem> parserResults = attachParser // .getParserResults(); // if (parserResults != null) // for (ParserResultItem parserResult : parserResults) // result.addField( // ParserFieldEnum.email_attachment_content, // parserResult); // } // } } if (StringUtils.isEmpty(mimeMessageParser.getHtmlContent())) document.add(LANG_DETECTION, languageDetection(document, PLAIN_CONTENT, 10000)); else document.add(LANG_DETECTION, languageDetection(document, HTML_CONTENT, 10000)); }
From source file:com.jaeksoft.searchlib.parser.EmlParser.java
@Override protected void parseContent(StreamLimiter streamLimiter, LanguageEnum lang) throws IOException, SearchLibException { Session session = Session.getDefaultInstance(JAVAMAIL_PROPS); try {/*from w w w.ja va 2 s . c om*/ MimeMessage mimeMessage = new MimeMessage(session, streamLimiter.getNewInputStream()); MimeMessageParser mimeMessageParser = new MimeMessageParser(mimeMessage).parse(); ParserResultItem result = getNewParserResultItem(); String from = mimeMessageParser.getFrom(); if (from != null) result.addField(ParserFieldEnum.email_display_from, from.toString()); for (Address address : mimeMessageParser.getTo()) result.addField(ParserFieldEnum.email_display_to, address.toString()); for (Address address : mimeMessageParser.getCc()) result.addField(ParserFieldEnum.email_display_cc, address.toString()); for (Address address : mimeMessageParser.getBcc()) result.addField(ParserFieldEnum.email_display_bcc, address.toString()); result.addField(ParserFieldEnum.subject, mimeMessageParser.getSubject()); result.addField(ParserFieldEnum.htmlSource, mimeMessageParser.getHtmlContent()); result.addField(ParserFieldEnum.content, mimeMessageParser.getPlainContent()); result.addField(ParserFieldEnum.email_sent_date, mimeMessage.getSentDate()); result.addField(ParserFieldEnum.email_received_date, mimeMessage.getReceivedDate()); for (DataSource dataSource : mimeMessageParser.getAttachmentList()) { result.addField(ParserFieldEnum.email_attachment_name, dataSource.getName()); result.addField(ParserFieldEnum.email_attachment_type, dataSource.getContentType()); if (parserSelector == null) continue; Parser attachParser = parserSelector.parseStream(getSourceDocument(), dataSource.getName(), dataSource.getContentType(), null, dataSource.getInputStream(), null, null, null); if (attachParser == null) continue; List<ParserResultItem> parserResults = attachParser.getParserResults(); if (parserResults != null) for (ParserResultItem parserResult : parserResults) result.addField(ParserFieldEnum.email_attachment_content, parserResult); } if (StringUtils.isEmpty(mimeMessageParser.getHtmlContent())) result.langDetection(10000, ParserFieldEnum.content); else result.langDetection(10000, ParserFieldEnum.htmlSource); } catch (Exception e) { throw new IOException(e); } }
From source file:org.mangelp.fakeSmtpWeb.httpServer.mailBrowser.MailFile.java
/** * Parse the file on disk using a MimeMessageParser and set all the instance * properties we will be using.// w ww . j a v a2 s. co m * * @throws FileNotFoundException * @throws MessagingException * @throws ParseException * @throws IOException */ protected void parseEmail() throws FileNotFoundException, MessagingException, ParseException, IOException { InputStream inputStream = new BufferedInputStream(new FileInputStream(this.getFile())); try { final Session session = Session.getDefaultInstance(new Properties()); MimeMessage message = new MimeMessage(session, inputStream); MimeMessageParser mimeParser = new MimeMessageParser(message); mimeParser.parse(); this.setSubject(mimeParser.getSubject()); this.setFrom(mimeParser.getFrom()); this.setReplyTo(mimeParser.getReplyTo()); ArrayList<String> toList = new ArrayList<String>(); for (Address emailAddress : mimeParser.getTo()) { toList.add(emailAddress.toString()); } this.setTo(toList.toArray(this.getTo())); ArrayList<String> ccList = new ArrayList<String>(); for (Address emailAddress : mimeParser.getCc()) { ccList.add(emailAddress.toString()); } this.setCc(ccList.toArray(this.getCc())); ArrayList<String> bccList = new ArrayList<String>(); for (Address emailAddress : mimeParser.getBcc()) { bccList.add(emailAddress.toString()); } this.setBcc(bccList.toArray(this.getBcc())); if (mimeParser.hasAttachments()) { attachments = new ArrayList<MailAttachment>(mimeParser.getAttachmentList().size()); int index = 0; for (DataSource ds : mimeParser.getAttachmentList()) { attachments.add(new MailAttachment(++index, ds)); } } if (mimeParser.hasHtmlContent()) { this.setHtmlContent(mimeParser.getHtmlContent()); } if (mimeParser.hasPlainContent()) { this.setPlainContent(mimeParser.getPlainContent()); } } catch (Exception e) { throw new ParseException("Failed to parse file " + this.getFile().toString() + ": " + e.getMessage()); } this.setId(DigestUtils.sha1Hex(inputStream)); inputStream.close(); }