我正在使用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帐户测试了此代码,如果我的邮件有大量附件,则需要花费大量时间。任何帮助表示赞赏。 提前致谢
答案 0 :(得分:0)
此应用是否使用POP或IMAP?
如果使用POP,请将其修改为使用IMAP。后者可能会更快,因为它只下载标题。