簡體   English   中英

如何使用java socket通過imap從gmail中讀取郵件

[英]how to read mails from gmail with imap by using java socket

這些天我對java套接字感興趣,我想使用java socket從gmail中讀取我的郵件。 可能嗎?

Socket s;
s = new Socket("imap.gmail.com", 993);
InputStream in;
in = s.getInputStream();
BufferedReader sin = new BufferedReader(new InputStreamReader(in));
PrintWriter output = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
String line;
output.println("a001 LOGIN my-e-mail my-pass");
output.flush();
while ((line = sin.readLine()) != null)
System.out.println(line);
s.close();

連接插座后我該怎么辦?

提前致謝。 (注意:我不想使用java郵件api,事情變得非常簡單,我只是選擇這種方式來熟悉幕后發生的事情)

編輯了代碼。

如果您想在GMail熟悉IMAP,那么您將不得不將SSL / TLS置於其上。 所有GMail流量都已加密。

有了套接字后,就可以在其上實現IMAP協議。

http://tools.ietf.org/html/rfc3501

這個問題的+1。

編輯:是的,可以使用java套接字與IMAP服務器通信,在某些情況下,建議這樣做而不是使用java郵件庫。

使用javamail是一種簡單的方法。 它似乎也是一個明顯的解決方案,但是,有些情況下你不想走那條路。

對於需要近乎實時地通知大量並發用戶的擴展部署,Javamail非常難以理解。

比如,你想為每個jvm服務超過1000個用戶,並且想要保持創建imap連接的開銷低,那么你將自己實現套接字並在套接字本身中編寫IMAP命令。 毋庸置疑,其他好處包括即時向您的用戶發送新電子郵件,即如果您使用的是AJAX。

近乎即時的電子郵件是關於黑莓的少數幾件事情之一。 鑒於RIM規模擴大,我認為他們不會在IMAP上使用Javamail來推送電子郵件。 這將非常不具備性能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM