как читать почту из gmail с помощью imap с помощью сокета Java - PullRequest
1 голос
/ 19 октября 2011

В эти дни меня интересуют java-сокеты, и я хочу читать мои письма из gmail с использованием java-сокетов.Возможно ли это?

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 mail api, с этим все очень просто, я просто выбираю этот способ, чтобы узнать, что происходит за кулисами)

отредактировал код.

Ответы [ 3 ]

3 голосов
/ 19 октября 2011

Если вы хотите познакомиться с IMAP в GMail, вам придется поставить поверх него SSL / TLS. Весь трафик GMail зашифрован.

2 голосов
/ 19 октября 2011

Если у вас есть сокет, вы реализуете протокол IMAP.

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

0 голосов
/ 19 октября 2011

+ 1 за вопрос.

РЕДАКТИРОВАТЬ: Да, можно общаться с IMAP-сервером, используя java-сокеты, и в некоторых случаях может быть целесообразно сделать это, а не использовать почтовую библиотеку java.

Использовать javamail очень просто.выход из положения.Это также кажется очевидным решением, но бывают случаи, когда вы не хотите идти по этому пути.

Javamail крайне непригоден для масштабных развертываний с большим количеством одновременных пользователей, которые должны получать уведомления практически в режиме реального времени.

Скажем, вы хотите обслуживать более 1000 пользователей наjvm, и вы хотите снизить накладные расходы на создание подключений imap, тогда вы сами прибегнете к реализации сокетов и будете писать команды IMAP в самом сокете.Излишне говорить, что другие преимущества включают почти мгновенную доставку нового электронного письма вашему пользователю, например, если вы используете AJAX.

Практически мгновенная электронная почта - одна из немногих вещей, которые нравятся Blackberry.Учитывая масштаб RIM, я не думаю, что они будут использовать Javamail поверх IMAP для рассылки электронных писем.Это было бы крайне бесполезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...