1

私の目標は、電子メール メッセージを読み込んで、それが新しいメッセージの場合は既読としてマークすることです。

だからここに私がやっていることがあります:

        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>

この動作が発生する理由と解決方法を教えてください。

4

1 に答える 1

0

処理されたボディを設定しないことで修正しました。次の行を削除しましたが、正常に動作します。

email.setBody(MessageBody.getMessageBodyFromText(GeneralUtils.replaceSpecialCharacters(email.getBody().toString())));
于 2012-11-18T12:19:44.340 に答える