【发布时间】:2013-07-08 17:47:29
【问题描述】:
我们正在使用 java 邮件从 imap 上的 ms exchange 获取邮件
如果没有人碰任何东西,一切都很好......但是如果 Outlook 中的用户将邮件从收件箱目录中的另一个目录移动,这将成为新的顶级邮件,其实际到达日期可能是几年前
作为一种解决方法,我们正在尝试获取已按交换排序的电子邮件(通常我们以创建消息 ID 顺序获取电子邮件,但刚刚移动的旧邮件的消息 ID 比刚到达的电子邮件的消息 ID 新)
我们正在使用这段代码来尝试
SortTerm std[]={SortTerm.DATE};
try {
messages = folder.getSortedMessages(std);
} catch (Exception e) {
logger.error(e.toString());
}
但我们得到了
javax.mail.MessagingException:不支持排序; 嵌套异常是: com.sun.mail.iap.BadCommandException:不支持排序
任何帮助将不胜感激在此先感谢 问候
斯特凡诺·布塔雷利
【问题讨论】:
-
消息的 INTERNALDATE 是否被重置?如果不是(不是 ID/UID),则应按 INTERNALDATE 排序,如果确实重置,则应按 Date: 标题。
-
您好,谢谢您的回答。我们没有 INTERNALDATE 进行排序,这里是我们必须排序的所有内容: public static final com.sun.mail.imap.SortTerm ARRIVAL public static final com.sun.mail.imap.SortTerm CC public static final com.sun。 mail.imap.SortTerm DATE public static final com.sun.mail.imap.SortTerm FROM public static final com.sun.mail.imap.SortTerm REVERSE public static final com.sun.mail.imap.SortTerm SIZE public static final com。 sun.mail.imap.SortTerm SUBJECT public static final com.sun.mail.imap.SortTerm TO 可能我没有理解你的意思?再见
标签: sorting imap jakarta-mail exchange-server