В моем проекте мне нужно читать почту и сохранять ее содержимое на жестком диске из почтового ящика MS Exchange с использованием javamail. Но я обнаружил, что даже самое простое электронное письмо, которое я получаю, сохраняется с html
содержимым, например head
body
и так далее, даже когда я пишу только два слова в формате, без изображений и без вложений. Но мне нужен только текст письма.
Часть кода:
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>
и так далее.
Я видел этот вопрос и обнаружил, что он извлекает только текстовое содержимое но я не могу комментировать там, поэтому я должен опубликовать новый вопрос, и я не вижу разницы между моим кодом и его. Он написал:
if (disposition != null && (disposition.equals(BodyPart.ATTACHMENT))) {
DataHandler handler = bodyPart.getDataHandler();
s1 = (String) bodyPart.getContent();`
Так это про DataHandler
? Но он нигде не используется? Кто-нибудь может помочь?