Пытаюсь авторизироваться на mail.ru, yandex.ru но везде не получается. Хотя все делаю правильно. Yandex все пропускает, но в конце говорит Authentication Failed, а mail.ru вообще себя странно ведет 8( Может есть у кого нормальный рабочий пример, т.к. все что видел в инете не пашет. Код (Text): ZeroMemory(szBuffer, sizeof(szBuffer)); strcpy(szBuffer,"EHLO smtp.yandex.ru\r\n"); send(hSocket,szBuffer,strlen(szBuffer),0); ZeroMemory(szBuffer, sizeof(szBuffer)); iError = recv(hSocket,szBuffer,sizeof(szBuffer),0); // AUTH LOGIN ZeroMemory(szBuffer, sizeof(szBuffer)); strcpy(szBuffer,"AUTH LOGIN\r\n"); send(hSocket,szBuffer,strlen(szBuffer),0); ZeroMemory(szBuffer, sizeof(szBuffer)); iError = recv(hSocket,szBuffer,sizeof(szBuffer),0); // кидаем Login ZeroMemory(szBuffer, sizeof(szBuffer)); base64_encode(pszLogin, lstrlen(pszLogin), szBuffer, sizeof(szBuffer)); sprintf(szBuffer,"%s\r\n",szBuffer); send(hSocket,szBuffer,strlen(szBuffer),0); // ждем ответ ZeroMemory(szBuffer, sizeof(szBuffer)); iError = recv(hSocket,szBuffer,sizeof(szBuffer),0); // кидаем Password ZeroMemory(szBuffer, sizeof(szBuffer)); base64_encode(pszPassword, lstrlen(pszPassword), szBuffer, sizeof(szBuffer)); sprintf(szBuffer,"%s\r\n",szBuffer); send(hSocket,szBuffer,strlen(szBuffer),0); // ждем ответ ZeroMemory(szBuffer, sizeof(szBuffer)); iError = recv(hSocket,szBuffer,sizeof(szBuffer),0);
wsd Гуглил, еслибы не гуглил не спрашивал ))) Что я делаю не так не пойму. Вот сессия с yandex.ru 1. посылаю > AUTH LOGIN 2. получаю < 334 VXNlcm5hbWU6 3. посылаю закодированный login в base64 4. получаю < 334 UGFzc3dvcmQ6 5. посылаю закодированный password в base64 6. получаю отлуп 8( < 535 Authentication Failed
Наконец-то. Черт возьми, других слов нет. Оказалось библиотека base64, которую я взял на каком-то ресурсе, содержала ошибки в кодировании.