Весь контент HTML в почте Lotus Notes не может быть получен с помощью некоторых методов, которые я пробовал. Я получаю часть HTML, которая выглядит как форматированный текст и с большим количеством "= A0" в содержимом, но невесь контент с CSS и стилем. Кроме того, после того, как я извлекаю этот неполный контент HTML, исходная почта изменяется на форматированный текст, хотя я установил session.setConvertMIME (true) ;. Я щелкнул правой кнопкой мыши по почте, чтобы перейти к свойствам документа, и я увидел все содержимое HTML в одном из атрибутов тела письма, оно обрезано, но если я смогу получить его с помощью кода, думаю, моя проблема будетчастично решен. введите описание изображения здесь Я пробовал вариант решения, предложенный в этом вопросе: Невозможно извлечь HTML-контент из почты в Lotus Notes, getMIMEEntity () возвращает ноль, даже после setConvertMIME (false)) . Используя это, я смог получить частичный HTML, тогда как до этого я даже не мог получить доступ к HTML в почте. Когда та же почта получена в Outlook, я могу получить доступ ко всему содержимому HTML там через контекстное меню правой кнопкой мыши и через код (свойство HTMLBody почты).
РАЗДЕЛ КОДА:
public static String getHTMLContentFromMailDocument(Document mailDoc){
Document selectedDoc = mailDoc;
String htmlBody ="";
try{
Database database = selectedDoc.getParentDatabase();
Session session = database.getParent();
if (session.isConvertMime()) {
// Do not convert MIME to rich text.
session.setConvertMIME(false);
}
Item item = selectedDoc.getFirstItem("Body");
MIMEEntity mimeEntity = null;
if (item != null) {
if (item.getType() == Item.RICHTEXT ) {
// Convert Notes rich text to MIME
Stream stream = ShelfSession.getInstance().getSession().createStream();
Document _tempDocument = database.createDocument();
_tempDocument.copyItem(item, "Body");
_tempDocument.convertToMIME(lotus.domino.Document.CVT_RT_TO_PLAINTEXT_AND_HTML, 0);
mimeEntity = _tempDocument.getMIMEEntity("Body");
mimeEntity.setContentFromText(stream, "text/html", 1727);
}
else if(item.getType()== Item.MIME_PART ){
mimeEntity = item.getMIMEEntity();
}
MIMEEntity currentEntity = null;
currentEntity = mimeEntity.getNextEntity();
while(currentEntity !=null){
if(currentEntity.getContentSubType().compareTo("html")==0){
htmlBody = currentEntity.getContentAsText();
break;
}
currentEntity = currentEntity.getNextEntity();
}
session.setConvertMIME(true);
return htmlBody;
}
return "";
}
catch(Exception e){
log.error(e);
return "";
}
}
Я добавил ожидаемый вывод и фактические выходные файлы в этом месте: https://sap -my.sharepoint.com /: f: / p / a_ramesh / EhhfOyzQ4RdEovR94S-IXGIBP7AH2ITj9sddvtXR27LUZA? E = Xq4Uvum Current2Файлы CurrentProblem.html и CurrentProblem.txt. Ожидаемый результат: файлы Outlook.html и OutlookHTMLExpected.txt.