我的目标是加载电子邮件,如果是新邮件,请将其标记为已读。
所以这就是我在做的事情:
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);
}
ISSUE:第一次阅读邮件正文时(在将邮件标记为已读之前) 我可以按如下方式正确阅读邮件正文:
This is message body
但是在将邮件标记为已读并更新邮件后,尝试再次加载此邮件时,邮件正文加载如下:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
This is message body
</body>
</html>
请告知我为什么会遇到这种行为,以及如何解决这个问题。
答案 0 :(得分:0)
我通过不设置已处理的正文来修复它,我删除了以下行,它运行正常:
email.setBody(MessageBody.getMessageBodyFromText(GeneralUtils.replaceSpecialCharacters(email.getBody().toString())));