我們需要爲不支持IMAP的Hotmail構建客戶端。根據我的理解,您必須使用帶POP3的交換,但POP3不支持將郵件從一個文件夾移動到另一個文件夾。我們需要的功能:IMAP for Hotmail等效
- 能夠在不將其標記爲已讀郵件「讀」
- 能夠刪除郵件
- 能夠移動郵件出收件箱到另一個文件夾,並標記爲已讀
任何方式來得到這個工作?
我們需要爲不支持IMAP的Hotmail構建客戶端。根據我的理解,您必須使用帶POP3的交換,但POP3不支持將郵件從一個文件夾移動到另一個文件夾。我們需要的功能:IMAP for Hotmail等效
任何方式來得到這個工作?
更新:Outlook now supports IMAP。 Hotmail使用相同的服務器。
你可以用JavaMail做你需要的一切。這裏是API
這是一個從收件箱中獲取所有未讀郵件並將其標記爲已讀的示例。看看文件夾類(特別是copyMessages()
方法)將消息移動到新文件夾。
import java.util.Properties;
import javax.mail.*;
import javax.mail.search.FlagTerm;
public class Driver {
public static void main(String[] args){
// Create properties (disable security checks on server)
Properties props = new Properties();
// Get session
Session session = Session.getDefaultInstance(props, null);
try{
// Get the store
Store store = session.getStore("pop3");
store.connect("servername", "username", "password");
//connection configuration
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
//get all unread messages in the inbox
FlagTerm ft = new FlagTerm(new Flags(Flags.Flag.SEEN), true);
Message[] messages = folder.search(ft);
for (int i = messages.length -1; i>=0; i--) {
messages[i].setFlag(Flags.Flag.SEEN, true);
}
// Close connection
folder.close(false);
store.close();
}
catch(Exception e){
e.printStackTrace();
}
}
簡短的回答,第
許可微軟的ActiveSync協議。
有一個用於Hotmail的Outlook連接器。也許有大量的JNI,但首先檢查許可證。
是否可以將郵件從一個文件夾移動到另一個文件夾?這是一個基本要求。 – djechlin 2012-07-05 19:47:52
是的,檢查'Folder'類和'copyMessages()'方法。你給它一個'Message'對象的數組和你想要它們移動到的目標文件夾。 – 2012-07-05 20:52:44
由於Hotmail不支持IMAP,並且Javamail不支持RPC over HTTP,您將如何在Hotmail上的文件夾之間移動郵件? – 2012-07-06 12:22:55