首页 > android 使用javamail内容转换的问题

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());
            }
        }
【热门文章】
【热门文章】