В моем проекте мне необходимо прочитать письма и сохранить его содержимое на жестком диске, используя почтовый ящик MS Exchange, используя javamail. Но я обнаружил, что даже самое простое электронное письмо, которое я получаю, сохраняется с содержимым html
, например head
body
и т. Д., Даже когда я пишу только два слова с форматом, без изображений, без вложений. Но я просто хочу текст электронной почты.Извлечь только текстовую часть тела электронной почты, используя javamail, без содержимого html
Часть кода:
Object content = part.getContent();
if (content instanceof InputStream || content instanceof String) {
if (Part.ATTACHMENT.equalsIgnoreCase(part.getDisposition()) ||
StringUtils.isNotBlank(part.getFileName())) {
String messageBody = part.getContent().toString();
....(write this string to files)
}
}
Я могу написать:
Hello world.
и я получаю TXT со всеми его HTML код и fontface
и теги, как <html>
и так далее.
Я видел this question, и я нашел его только для получения текстового содержимого, но я не могу комментировать там, поэтому я должен опубликовать новый вопрос, и я не вижу разницы между моим кодом и его. Он писал:
if (disposition != null && (disposition.equals(BodyPart.ATTACHMENT))) {
DataHandler handler = bodyPart.getDataHandler();
s1 = (String) bodyPart.getContent();`
Так это о DataHandler
? Но он нигде не используется? Может кто-нибудь помочь?
Спасибо за комментарий, но я не понимаю, почему заказ означает что-то в указанной вами ссылке. И изменить порядок 'if-else' изменяет предпочтение и вывод? Можете ли вы указать немного больше? – FaithReaper
В RFC 2046, который определяет множественный/альтернативный вариант, альтернативы появляются в порядке возрастания верности исходному контенту. Это означает, что вы найдете текст/plain перед текстом/html. Если вы предпочитаете text/plain, вы можете изменить этот код для возврата, как только он найдет текст/обычный контент; нет необходимости продолжать искать другие части тела. –
Хорошо спасибо. Я решил получить целое сообщение как html, потому что он содержит больше информации. Я предпочитаю поддерживать структуру электронных писем и не испортить весь текст. – FaithReaper