Тело сообщения изменяется после обновления 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())));
Другие вопросы по тегам