Тело сообщения изменяется после обновления EmailMessage
Моя цель - загрузить сообщение электронной почты и, если оно новое, пометить его как прочитанное.
Итак, вот что я делаю:
EmailMessage email=EmailMessage.bind(service,itemId);
email.load();
email.setSubject(GeneralUtils.replaceSpecialCharacters(email.getSubject()));
email.setBody(MessageBody.getMessageBodyFromText(GeneralUtils.replaceSpecialCharacters(email.getBody().toString())));
if(!email.getIsRead()){
email.setIsRead(true);
email.update(ConflictResolutionMode.AutoResolve);
}
ВОПРОС: При первом прочтении тела сообщения (до того, как пометить сообщение как прочитанное), я могу правильно прочитать тело сообщения следующим образом:
This is message body
Но после пометки сообщения как прочитанного и обновления сообщения при повторной попытке загрузить это письмо тело сообщения загружается следующим образом:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
This is message body
</body>
</html>
Посоветуйте, пожалуйста, почему у меня такое поведение и как его решить.
1 ответ
Решение
Я исправил это, не устанавливая обработанное тело, я удалил следующую строку, и она отлично работает:
email.setBody(MessageBody.getMessageBodyFromText(GeneralUtils.replaceSpecialCharacters(email.getBody().toString())));