繁体   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