我开始使用 Microsoft Exchange Server 2013 & Javamail 1.5.6 我正在创建一个Java客户端,目前我可以通过IMAP协议和LIST / SEARCH电子邮件连接到邮箱。
我想实现一个使用Java代码来分类邮件的函数,结果应该与outlook中的以下函数相同↓
(1)右键单击邮件,单击分类,然后选择目标标签
(2)标签现在在邮件上:
((IMAPFolder) folder).doCommand()
做了自己的扩展:```
final MessageSet[] mSets = MessageSet.createMessageSets(mns);
((IMAPFolder) folder).doCommand(new IMAPFolder.ProtocolCommand() {
@Override
public Object doCommand(IMAPProtocol p) throws ProtocolException {
try {
Response[] r = p.fetch(mSets, "X-GM-LABELS X-GM-THRID");
for (int i = 0; i < r.length; i++) {
if (!FetchResponse.class.isInstance(r[i]))
continue;
// Got a FetchResponse.
GmailFetchResponse gfr = new GmailFetchResponse(
((FetchResponse) r[i]).toString());
// Use gfr.getNumber() to get the msg number
for (int j = 0; j < gfr.getItemCount(); j++) {
Item item = gfr.getItem(j);
if (X_GM_LABELS.class.isInstance(item))
// get the labels
((X_GM_LABELS) item).x_gm_labels);
}
}
} catch (ProtocolException e) {
logError(e.getMessage(), e);
}
return null;
}
});
```
看起来这个人通过扩展IMAPProtocol
类来构建自己的命令。
但是我找不到任何关于Microsoft Exchange服务器命令的信息,你能帮我解决这个问题吗?