2010-04-03 64 views
0

如果我需要通過將請求從servlet傳遞給javamail API來獲取收件箱郵件,那麼如何才能知道檢索收件箱郵件的協議?我必須在請求URL中聲明協議嗎?如何在JavaMail中設置電子郵件協議

我已經在Gmail中,他們並沒有說任何協議檢驗,那麼我該如何根據收件箱的郵件特定的協議,如:POP3或IMAP

回答

0

接收使用JavaMail電子郵件可能是兩個POP3和IMAP。下面是一個示例:

Properties props = System.getProperties(); 
session = Session.getInstance(props, null); // get a mail session 
store = session.getStore("imap"); // get relevent store type, in this case IMAP 
store.connect(mailserver, username, password); // connect to mail server 
defaultFolder = store.getDefaultFolder(); // get default or root folder 
inboxFolder = defaultFolder.getFolder("INBOX"); // find and get INBOX folder 
inboxFolder.open(Folder.READ_ONLY); // open the folder 
Message[] inboxMessages = inboxFolder.getMessages(); // get all the messages 

在Session.getStore()中將存儲類型更改爲POP3訪問的「pop3」。

哦,順便說一句,GMail支持POP和IMAP - 這取決於用戶是否啓用了這些類型的訪問。如果您登錄到GMail帳戶,請查看「設置」和「轉發和POP/IMAP」標籤。

1

該協議是在配置​​屬性中指定:

mail.store.protocol=pop3 

mail.pop3.host=... 
... 
+0

但我怎樣才能知道,我必須使用IMAP協議如「黃昏」任何動態創建的文件夾中,或者用於如垃圾郵件已經創建程序員定義的文件夾,郵件應用程序中的發件箱? – Dusk 2010-04-04 05:53:45

相關問題