List of usage examples for org.apache.commons.mail.util MimeMessageParser getBcc
public List<javax.mail.Address> getBcc() throws Exception
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();/*from w ww . j a v a 2 s .com*/ 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.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); // }// ww w .j ava 2s .co m // } } 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);/* w w w. j a va 2 s .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 .j a va 2 s .c o m*/ 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 w w . jav a 2s . c o 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(); }