Название: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 25, 2009, 17:17 Помогите пожалуйста ! Нужно подключится к POP серверу и узнать количество писем. Как это сделать ? Нужен простой пример.
Название: Re: Как подключится к POP серверу ? Отправлено: SimpleSunny от Декабрь 25, 2009, 17:34 Посмотреть можно тут (http://sourceforge.net/projects/nlcreator/), но сам код мне не понравился, когда пытался использовать в одном проекте.
А если в общем то QSocket и спецификация на протокол :) Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 25, 2009, 19:11 Я в таком большом проекте не разберусь. Я новичок, мне нужен простой пример.
Название: Re: Как подключится к POP серверу ? Отправлено: SimpleSunny от Декабрь 25, 2009, 20:00 Там все довольно просто. Найдите классы pop3 (или lpop3), в них и происходит то что Вас интересует.
Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 25, 2009, 23:10 Там все довольно просто. Найдите классы pop3 (или lpop3), в них и происходит то что Вас интересует. Нет таких классов Название: Re: Как подключится к POP серверу ? Отправлено: SimpleSunny от Декабрь 26, 2009, 00:13 И всё-таки есть :)
Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 26, 2009, 00:24 Спасибо. Буду разбираться
Название: Re: Как подключится к POP серверу ? Отправлено: crossly от Декабрь 26, 2009, 14:50 Помогите пожалуйста ! Нужно подключится к POP серверу и узнать количество писем. Как это сделать ? Нужен простой пример. когда то игрался с такими вещами.... начинал с того http://doc.trolltech.com/3.0/mail-example.html (http://doc.trolltech.com/3.0/mail-example.html)... пример для smtp..... для начала возьми rfc 1939 и telnet.... а потом все станет понятно..... :) Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 26, 2009, 18:04 Не получилось разобраться :( Покажите пожалуйста простой пример, как подключится к POP3 серверу.
Название: Re: Как подключится к POP серверу ? Отправлено: crossly от Декабрь 26, 2009, 21:11 подключится просто..... Берем QTcpSocket.... и connectToHost(<pop3 server>,110) его :).... вот и все подключение... далее все сводится к записи команд в сокет и чтение данных из него.. я не зря в предыдущем посте написал об рфц.... там не так много команд.... но не зная их у вас ничего не получится... и я не зря указал telnet.... попробуйте по общаться с почтовым сервером с помощью его..... и вам все станет понятно....
Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 26, 2009, 23:30 и я не зря указал telnet.... попробуйте по общаться с почтовым сервером с помощью его..... и вам все станет понятно.... В Винде сделал Пуск=> Выполнить=> telnet pop.mail.ru 110 Дальше написал: Код: USER логин Название: Re: Как подключится к POP серверу ? Отправлено: crossly от Декабрь 27, 2009, 02:02 не так страшен черт как его малюют... :)
Название: Re: Как подключится к POP серверу ? Отправлено: lit-uriy от Декабрь 27, 2009, 17:10 >>В Qt не так как в C++ Билдере, там для POP3 есть отдельный клиент, а в Qt похоже все надо делать вручную
как напишешь компонент, выложи его на Qt-apps, чтобы и в Qt был свой компонент. Название: Re: Как подключится к POP серверу ? Отправлено: crossly от Декабрь 27, 2009, 21:07 думаю протокол рор3 слишком прост для того что бы удостоить его отдельным классом... :).... и думаю что троли не зря не стали захламлять им qt... :).... но если добавить туда ещё что нибудь для работы с самим письмом, то было бы наверное интересно....
Название: Re: Как подключится к POP серверу ? Отправлено: merke от Декабрь 28, 2009, 20:22 Давно как то писал поп3 клиент, но переключился на другой проект, вот скидываю ссылку на исходник, там как раз реализовано получение количество писем в ящике, но не до конца реализовано получение самих писем. Держи, разбирайся http://mepke.ucoz.ru/pop.rar (http://mepke.ucoz.ru/pop.rar)
Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 28, 2009, 21:08 Спасибо ! :D
Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 29, 2009, 15:57 У меня получилось подключиться к серверу, но не получается получить ответ от сервера. Как это сделать ?
Код
Название: Re: Как подключится к POP серверу ? Отправлено: BRE от Декабрь 29, 2009, 16:06 Ну так сервер не успевает тебе ответить. :)
Посмотри на: bool QAbstractSocket::canReadLine () const bool QIODevice::waitForReadyRead ( int msecs ) void QIODevice::readyRead () [signal] Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 29, 2009, 16:34 Ну так сервер не успевает тебе ответить. :) Чтение из сокета засунул в слот, связанный с сигналом readyRead(). Таким образом смог получить ответ от сервера. Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Декабрь 31, 2009, 11:38 Команда:
Код
Выдает мне следующий результат: Код: +OK Мне нужно только количество писем узнать. Какой командой это можно сделать ? Наверно есть более рациональный способ, чем парсить весь этот текст Название: Re: Как подключится к POP серверу ? Отправлено: crossly от Январь 03, 2010, 17:55 правильнее всего обрабатывать ответ на каждую посланную команду ... это избавит тебя от ошибок... (мало ли сервер не доступен, не правильный логин пароль и тд).... примерно так же, как это показано в примере smtp (ссылку давал выше)... + обрабатывать построчно.... т.е. на команду STAT в ответ ты получишь строку +OK 1430 4953088... а далее просто в QString её и split(" ").at(1) количество писем... :)
Название: Re: Как подключится к POP серверу ? Отправлено: _govorilka от Январь 03, 2010, 21:22 Вот сюда не пробовали заглянуть:
http://labs.trolltech.com/page/Projects/QtMessaging (http://labs.trolltech.com/page/Projects/QtMessaging) Возможно это то, что Вам нужно. Название: Re: Как подключится к POP серверу ? Отправлено: QtProger от Январь 04, 2010, 01:16 правильнее всего обрабатывать ответ на каждую посланную команду ... это избавит тебя от ошибок... (мало ли сервер не доступен, не правильный логин пароль и тд).... примерно так же, как это показано в примере smtp (ссылку давал выше)... + обрабатывать построчно.... т.е. на команду STAT в ответ ты получишь строку +OK 1430 4953088... а далее просто в QString её и split(" ").at(1) количество писем... :) Получилось. :D Спасибо Название: Re: Как подключится к POP серверу ? Отправлено: serg_hd от Март 30, 2010, 16:40 ... + обрабатывать построчно.... т.е. на команду STAT в ответ ты получишь строку +OK 1430 4953088... КАК это сделать? Команда STAT у меня выполняется в отдельном слоте, но всё равно в ответе - ВСЕ данные вместе с данными результата авторизации, а не только статистика.Вобщем надо учитывать, что сигнал readyRead испускается соответственно каждой команде по истечение времени. Название: Re: Как подключится к POP серверу ? Отправлено: crossly от Март 31, 2010, 13:58 http://qt.gitorious.org/qt-labs/messagingframework/blobs/master/src/plugins/messageservices/pop/popclient.cpp (http://qt.gitorious.org/qt-labs/messagingframework/blobs/master/src/plugins/messageservices/pop/popclient.cpp)
|