Download 使用java在一次调用中读取头和体
我有一个邮件阅读器类,它设置FetchProfile,然后执行msg.getContent。 我想在一次通话中阅读邮件的标题和内容,基本上在一次通话中下载完整的邮件。因为我观察到msg.getcontent调用服务器获取正文/内容,如果我们可以在一次调用中下载完整邮件,则可以保存对服务器的调用 这可能吗 代码与此类似Download 使用java在一次调用中读取头和体,download,jakarta-mail,Download,Jakarta Mail,我有一个邮件阅读器类,它设置FetchProfile,然后执行msg.getContent。 我想在一次通话中阅读邮件的标题和内容,基本上在一次通话中下载完整的邮件。因为我观察到msg.getcontent调用服务器获取正文/内容,如果我们可以在一次调用中下载完整邮件,则可以保存对服务器的调用 这可能吗 代码与此类似 inbox.open(Folder.READ_ONLY); /* Get the messages which is unread in the Inbo
inbox.open(Folder.READ_ONLY);
/* Get the messages which is unread in the Inbox */
Message messages[] = inbox.search(new FlagTerm(
new Flags(Flag.SEEN), false));
/* Use a suitable FetchProfile */
FetchProfile fp = new FetchProfile();
fp.add(FetchProfile.Item.ENVELOPE);
fp.add(FetchProfile.Item.CONTENT_INFO);
inbox.fetch(messages, fp);
for (int i = 0; i < messages.length; i++) {
System.out.println("MESSAGE #" + (i + 1) + ":");
Message message = messages[i];
**String content = message.getContent();**
System.out.println("Content : " + content);
}
收件箱。打开(文件夹。只读);
/*获取收件箱中未读的邮件*/
messages[]=收件箱。搜索(新标记词(
新标志(Flag.SEEN,false));
/*使用合适的配置文件*/
FetchProfile fp=新的FetchProfile();
fp.add(FetchProfile.Item.信封);
fp.add(FetchProfile.Item.CONTENT\u INFO);
inbox.fetch(消息,fp);
for(int i=0;i
谢谢你的帮助
谢谢和问候
Raaghu.K如果您希望在一次呼叫中获得整个消息,并且不需要使用IMAP协议的任何功能,您有两种选择:
对这个方法是可行的,但是实现起来没有什么危险,因为它可以下载完整的邮件(也可以是附件),并且可能会导致内存不足。是的,但这正是你所要求的,“一次调用下载完整的邮件”。无法在一次调用中下载消息头和消息主体,因为在检查消息结构之前,您不知道消息主体在哪里。对。你的方法和建议回答了我的问题,我刚刚解释了危险/退缩