2015-01-29 3 views
2

Я пытаюсь получить содержимое тела MIMEMessage. Электронная почта по существу является файлом .EML, сохраненным в виде текстового файла. Код ниже, а затем преобразует его в MIMEMessageКак получить тело из электронной почты MimeMessage в Java

 InputStream mailFileInputStream = new FileInputStream(emailFile); 
     Properties props = new Properties(); 
     Session session = Session.getDefaultInstance(props, null); 
     MimeMessage message = new MimeMessage(session, mailFileInputStream); 

Однако, когда я пытаюсь использовать MimeMessageParser разобрать и получить отдельные части, я могу получить все, но содержание HTML, на код ниже:

 MimeMessageParser parser = new MimeMessageParser(message); 
     String from = parser.getFrom(); 
     List<Address> to = parser.getTo(); 
     List<Address> cc = parser.getCc(); 
     List<Address> bcc = parser.getBcc(); 
     String subject = parser.getSubject(); 
     String htmlContent = parser.getHtmlContent(); // Doesnt work 

Я пропустил шаг в разборе или есть более простой способ получить тело?

ответ

2

Ive обнаружил решение. Вы должны использовать строку ниже для разбора парсер первым:

parser.parse().getHtmlContent(); 

Это возвращает голову и тело сообщения электронной почты. Полезным источником был японский сайт, спрятанный глубоко в Интернете :) http://www.cnblogs.com/jiaoyiping/p/3761560.html

Смежные вопросы