Модераторы: feodorv

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проверка новых сообщений на ящике 
V
    Опции темы
Игорь1024
Дата 2.2.2011, 07:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



Вопрос: как реализовать проверку почты. Гугл дал мне примеры отправки писем, но не проверку на наличие новых сообщений.

Это сообщение отредактировал(а) Игорь1024 - 2.2.2011, 10:08
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
azesmcar
Дата 2.2.2011, 07:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 3
Всего: 211



Какая разница где ящик, протокол какой?
PM   Вверх
Игорь1024
Дата 2.2.2011, 10:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



SMTP.
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
azesmcar
Дата 2.2.2011, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 3
Всего: 211



Игорь1024

Протокол SMTP служит только для отправки сообщений. Для проверки почтового ящика необходимо использовать протокол POP3 или IMAP.

Спецификацию каждого протокола можешь найти на сайте ietf.org
POP3
IMAP
там подробно описаны команды, которые сервер должен поддерживать.
PM   Вверх
Игорь1024
Дата 2.2.2011, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



Спасибо. Уже читаю.
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
azesmcar
Дата 2.2.2011, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 3
Всего: 211



P.S.
POP3 попроще.
PM   Вверх
Игорь1024
Дата 2.2.2011, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



Вот быстренько написал.
С gmail'ом связываться не хочет. Я с терминал через telnet пробовал (к тому же с ним через 995 порт надо связываться - судя по гугловской справке).
С pop.mail.ru cвязывается, но отображает программка только удачную регистрацию (одно +ОК), не более. Через терминал тоже заходит, но на тот же STAT ругается - мол, не знаю я такого.
Где я накосячил?
Код

#include "winsock.h"
#include <iostream>
using namespace std;

WSADATA lpWSAData;
sockaddr_in local;
int s;

char buf[8];
void print()
{
for(int i=0; i<8; i++)
{
    cout<< buf[i];
}
cout<<'\n';
}

void main()
{
    if(WSAStartup(MAKEWORD(1,1), &lpWSAData)!=0) MessageBox(NULL,"Error","Fail",MB_OK);

sockaddr_in local;
local.sin_family=AF_INET;
local.sin_port=htons(110);

LPHOSTENT lphost;
lphost = gethostbyname("pop.mail.ru");
local.sin_addr.s_addr = ((LPIN_ADDR)lphost->h_addr)->s_addr;
s=socket(AF_INET, SOCK_STREAM, 0);
connect(s, (PSOCKADDR)&local, sizeof(local));

send(s, "USER ***** PASS *******", 47, 0);// не будем разглашать :)
recv(s, buf, 8, 0);
print();
send(s, "STAT", 5, 0);
recv(s, buf, 8, 0);
print();
}

Запускается, показывает одно +OK и висит, не кушая ПВ.
Да к тому же мыло у меня на gmail. Так что надо эту проблемку решить.

Это сообщение отредактировал(а) Игорь1024 - 2.2.2011, 12:23
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
azesmcar
Дата 3.2.2011, 07:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 3
Всего: 211



Цитата(Игорь1024 @  2.2.2011,  12:20 Найти цитируемый пост)
С gmail'ом связываться не хочет. Я с терминал через telnet пробовал (к тому же с ним через 995 порт надо связываться - судя по гугловской справке).

Это SSL порт smile потому и не работает твоя программа.

Цитата(Игорь1024 @  2.2.2011,  12:20 Найти цитируемый пост)
но на тот же STAT ругается - мол, не знаю я такого.

это после авторизации? сейчас не могу проверить, вечером попробую.

Это сообщение отредактировал(а) azesmcar - 3.2.2011, 07:35
PM   Вверх
Игорь1024
Дата 3.2.2011, 08:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



А через 110 вообще даже через терминал нет коннекта к gmail'у.
А к mail.ru подключается через него.

Добавлено @ 08:02
И да. После регистрации ругается на STAT.

Это сообщение отредактировал(а) Игорь1024 - 3.2.2011, 08:05
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
Modul
Дата 3.2.2011, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



Работа с gmail производится через SSL протокол.

Т.е. надо использовать к примеру библиотеку openSSL и свои порты доступа по
этому протоколу и все заработает.
--------------------
I'll be back !
PM MAIL   Вверх
azesmcar
Дата 3.2.2011, 20:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 3
Всего: 211



Игорь1024

Ошибке в команде авторизации, надо так
Цитата

+OK
USER [email protected]
+OK
PASS mypassword
+OK Welcome!
STAT
+OK 96 49078272

PM   Вверх
Игорь1024
Дата 4.2.2011, 06:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



Так как предложил azesmcar я пробовал сначала. Потом попробовал по-другому.
Насчёт SSL понял. Буду копать. Всем спасибо.
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
Игорь1024
Дата 4.2.2011, 06:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



Хм. Через терминал по тому, как предложил  azesmcar, я подключаюсь.
Но не через прогу. Всё так-же один +ОК. Блин, Sleep'ов чтоли навтыкать?! 
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
azesmcar
Дата 4.2.2011, 07:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 3
Всего: 211



Цитата(Игорь1024 @  4.2.2011,  06:55 Найти цитируемый пост)
Хм. Через терминал по тому, как предложил  azesmcar, я подключаюсь.
Но не через прогу

Значит проблема в коде. Скинь исходники к вечеру если ничего не получиться, дома посмотрю.
PM   Вверх
Игорь1024
Дата 4.2.2011, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 11.5.2009
Где: Дальний Восток

Репутация: нет
Всего: нет



Исходник почти такой же как я уже выложил. Изменено совсем немного. Просто сначала отдельно решил проверку написать, чтобы потом функции переписать для другой, более большой и важной программы.
--------------------
The God is real,unless he is declared as integer.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0520 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.