如何从java.mail获取HTML文本/纯文本
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了如何从java.mail获取HTML文本/纯文本,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1559字,纯文字阅读大概需要3分钟。
内容图文
![如何从java.mail获取HTML文本/纯文本](/upload/InfoBanner/zyjiaocheng/678/ae17d792a71346098b8f06a5e51c07dd.jpg)
当我从contentText中的java.mail读取电子邮件正文时,得到的是第一个纯文本,然后是该HTML文本.即如果发送消息是
<div><b>Mock</b><br />Mock 2</div>
contentText将包含:
Mock Mock
<div><b>Mock</b><br />Mock 2</div>
下面是我加载contentText的代码:
public void setContentText(Multipart multipart) throws MessagingException, IOException {
contentText ="";
for (int i = 0; i < multipart.getCount(); i++) {
BodyPart bodyPart = multipart.getBodyPart(i);
getBodyToStringPart(bodyPart);
}
}
protected void getBodyToStringPart(BodyPart bodyPart) throws MessagingException, IOException {
String disposition = bodyPart.getDisposition();
if (!StringUtils.equalsIgnoreCase(disposition, "ATTACHMENT")) {
if (bodyPart.getContent() instanceof BASE64DecoderStream
&& bodyPart.getHeader("Content-ID") != null) {
BASE64DecoderStream base64DecoderStream = (BASE64DecoderStream) bodyPart
.getContent();
byte[] byteArray = IOUtils.toByteArray(base64DecoderStream);
byte[] encodeBase64 = Base64.encodeBase64(byteArray);
this.contentText = this.contentText.replaceAll(
"cid:"
+ bodyPart.getHeader("Content-ID")[0].replaceAll(">", "")
.replaceAll("<", ""), "data:" + bodyPart.getContentType()
+ ";base64," + new String(encodeBase64, "UTF-8"));
} else if (bodyPart.getContent() instanceof MimeMultipart) {
MimeMultipart mimeMultipart = (MimeMultipart) bodyPart.getContent();
for (int j = 0; j < mimeMultipart.getCount(); j++) {
getBodyToStringPart(mimeMultipart.getBodyPart(j));
}
} else {
this.contentText += bodyPart.getContent() + "";
}
} else {
// TODO: Do we need attachments ?
}
}
解决方法:
This JavaMail FAQ entry可能会有所帮助.
内容总结
以上是互联网集市为您收集整理的如何从java.mail获取HTML文本/纯文本全部内容,希望文章能够帮你解决如何从java.mail获取HTML文本/纯文本所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。