android 使用javamail内容转换的问题
在Android开发开发邮件系统的时候,需要解析javamail返回的content对象,在网上找了一些博客,感觉都是没有讲清楚这个content到底是怎么解析的,总是会有异常,但是又找不到到底怎么写才好。。解析的代码如下,希望有大神帮我解答一些疑问。。谢谢:
private void compileMailContent(Part part) throws MessagingException, IOException {
String contentType = part.getContentType();
// Log.v("content type", "[" + contentType.replace("\n", "") + "]" + "["
// + part.getContent() + "]");
boolean connName = false;
if (contentType.indexOf("name") != -1) {
connName = true;
}
if (part.isMimeType("text/plain") && !connName) {
String content = parseInputStream((InputStream) part.getContent());
mailContent.append(content);
} else if (part.isMimeType("text/html") && !connName) {
html = true;
String content = parseInputStream((InputStream) part.getContent());
mailContent.append(content);
} else if (part.isMimeType("multipart/*") || part.isMimeType("message/rfc822")) {
Object o = part.getContent();
if (o instanceof Multipart) {
Multipart multipart = (Multipart) part.getContent();
int counts = multipart.getCount();
for (int i = 0; i < counts; i++) {
compileMailContent(multipart.getBodyPart(i));
}
} else {
Multipart multipart = new MimeMultipart(new ByteArrayDataSource(part.getInputStream(), "multipart/*"));
int counts = multipart.getCount();
for (int i = 0; i < counts; i++) {
compileMailContent(multipart.getBodyPart(i));
}
}
} else if (part.getDisposition() != null && part.getDisposition().equals(Part.ATTACHMENT)) {
// ��ȡ����
String filename = part.getFileName();
if (filename != null) {
if (filename.indexOf("=?gb18030?") != -1) {
filename = filename.replace("gb18030", "gb2312");
}
filename = MimeUtility.decodeText(filename);
attachments.add(filename);
attachmentsInputStreams.add(part.getInputStream());
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论