我使用javax.mail api:
为gmail创建了自定义标志Flags scannedFlag = new Flags("scanned");
因此,我可以在文件夹中搜索那些没有扫描标记的邮件。
FlagTerm fterm = new FlagTerm(scannedFlag, false);
IMAPFolder folder.open(Folder.READ_WRITE);
Message[] messages = folder.search(fterm );
我可以为所有消息分配自定义标志:
for (int i = 0; i < messages.length; i++) {
Message msg = messages[i];
msg.setFlags(scannedFlag, true);
}
这种方法在gmail上运行得很好,但是当我用outlook做这个时,它确实没用。当我尝试在msg上对scanFlag进行asign时,它会给我以下错误:
javax.mail.MessagingException: A7 BAD Invalid "flag-list": Contains unsupported flag or closing character missing.;
nested exception is:
com.sun.mail.iap.BadCommandException: A7 BAD Invalid "flag-list": Contains unsupported flag or closing character missing.
at com.sun.mail.imap.IMAPMessage.setFlags(IMAPMessage.java:921)
at com.tegik.App.main(App.java:54)
Caused by: com.sun.mail.iap.BadCommandException: A7 BAD Invalid "flag-list": Contains unsupported flag or closing character missing.
at com.sun.mail.iap.Protocol.handleResult(Protocol.java:353)
at com.sun.mail.imap.protocol.IMAPProtocol.storeFlags(IMAPProtocol.java:1603)
at com.sun.mail.imap.protocol.IMAPProtocol.storeFlags(IMAPProtocol.java:1588)
at com.sun.mail.imap.IMAPMessage.setFlags(IMAPMessage.java:917)
如何使用我在gmail上使用的类似方法在Outlook上创建自定义标志?
答案 0 :(得分:0)
可能是你的邮件服务器不支持自定义标志?可以通过获取CAPABILITIES来分析它。另外,你是什么意思 这种方法在gmail上运行得很好,但是当我用outlook 执行此操作时 我想你连接到不同的帐户(邮件服务器)一个支持自定义标志,其他不是?