列出附件而不使用javamail api下载它

时间:2011-05-02 15:30:28

标签: java gmail javamail

我正在使用javamail api开发一个java邮件客户端。我需要获取附件列表而不提取它。首先,我将显示附件列表,而不是单击特定附件,我将获取数据。目前我能够获取所有附件的名称,但由于我认为我的代码也在获取附件数据,因此花费的时间太长。我的代码如下

private void getAttachmentList(Part part, List list) throws Exception{
    Object content = part.getContent();
    if(content instanceof Multipart){
        Multipart multiPart = (Multipart)content;
        int no_of_part = multiPart.getCount();

        for(int i=0; i<no_of_part; i++){
            getAttachmentList(multiPart.getBodyPart(i), list);
        }
    }else{
        String disposition = part.getDisposition();

        if (disposition != null && disposition.equalsIgnoreCase(Part.ATTACHMENT)) {
            String fileName = part.getFileName();
            if(fileName != null){
                list.add(fileName);
            }
        } 

    }
}

我已经使用我的Gmail帐户测试了此代码,如果我的邮件有大量附件,则需要花费大量时间。任何帮助表示赞赏。 提前致谢

1 个答案:

答案 0 :(得分:0)

此应用是否使用POP或IMAP?

如果使用POP,请将其修改为使用IMAP。后者可能会更快,因为它只下载标题。