java 读取 MS Outlook 收件箱
java read MS Outlook inbox
我想使用 java (SE) 在 MS Outlook (2010) 中阅读我的收件箱,然后将 message/email 移动到另一个文件夹。我曾尝试在网络上搜索,但只找到了许可的解决方案或几年前的帖子。有人对此步骤有解决方案吗?非常感谢您的帮助!
可以使用 javax.mail 完成,但很大程度上取决于服务器协议和身份验证等。
无论如何,这是一个片段(假设是 imap):
设置您的属性:
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imap");
props.setProperty("mail.imap.user", <user>);
props.setProperty("mail.imap.host", <host>);
props.setProperty("mail.imap.port", <port 143>);
...
获取会话并连接
Session mailSession = Session.getInstance(props);
Store mailStore = mailSession.getStore("imap");
mailStore.connect(<host>, <user>, <passwd>);
Folder dFolder = mailStore.getDefaultFolder();
Folder inbox = dFolder.getFolder(<connectFolder=INBOX?>);
inbox.open(Folder.READ_WRITE);
// Open destination folder, create if reqd
Folder destfolder = mailStore.getFolder(<destination folder>);
if (!destfolder.exists())
destfolder.create(Folder.HOLDS_MESSAGES);
Message []inMessages = inbox.getMessages();
if (inMessages .length != 0) {
inbox.copyMessages(inMessages , destfolder);
for (int i=0; i< inMessages.length; i++) {
// Custom Processor which readsMessages and performs some action.
// getProcessor().readMessage(inMessages[i]);
inMessages[i].setFlag(Flags.Flag.DELETED, true);
}
}
希望对您有所帮助
我想使用 java (SE) 在 MS Outlook (2010) 中阅读我的收件箱,然后将 message/email 移动到另一个文件夹。我曾尝试在网络上搜索,但只找到了许可的解决方案或几年前的帖子。有人对此步骤有解决方案吗?非常感谢您的帮助!
可以使用 javax.mail 完成,但很大程度上取决于服务器协议和身份验证等。
无论如何,这是一个片段(假设是 imap):
设置您的属性:
Properties props = new Properties();
props.setProperty("mail.store.protocol", "imap");
props.setProperty("mail.imap.user", <user>);
props.setProperty("mail.imap.host", <host>);
props.setProperty("mail.imap.port", <port 143>);
...
获取会话并连接
Session mailSession = Session.getInstance(props);
Store mailStore = mailSession.getStore("imap");
mailStore.connect(<host>, <user>, <passwd>);
Folder dFolder = mailStore.getDefaultFolder();
Folder inbox = dFolder.getFolder(<connectFolder=INBOX?>);
inbox.open(Folder.READ_WRITE);
// Open destination folder, create if reqd
Folder destfolder = mailStore.getFolder(<destination folder>);
if (!destfolder.exists())
destfolder.create(Folder.HOLDS_MESSAGES);
Message []inMessages = inbox.getMessages();
if (inMessages .length != 0) {
inbox.copyMessages(inMessages , destfolder);
for (int i=0; i< inMessages.length; i++) {
// Custom Processor which readsMessages and performs some action.
// getProcessor().readMessage(inMessages[i]);
inMessages[i].setFlag(Flags.Flag.DELETED, true);
}
}
希望对您有所帮助