Послать письмо по WinInet

Тема в разделе "WASM.BEGINNERS", создана пользователем yurza, 18 дек 2009.

  1. yurza

    yurza New Member

    Публикаций:
    0
    Регистрация:
    5 мар 2008
    Сообщения:
    69
    Народ может подскажите можно ли так сделать есть код (знаю ужасный но главное чтобы заработало)
    Работаю через прокси на работе
    Код (Text):
    1. HINTERNET hInternet =InternetOpen(" ",INTERNET_OPEN_TYPE_PROXY,ProxyAddres.c_str(),NULL,INTERNET_FLAG_DONT_CACHE);
    2. if(hInternet!=NULL){
    3.     HINTERNET hConnect=InternetConnect( hInternet,TEXT("win.mail.ru"),
    4.                                         INTERNET_DEFAULT_HTTP_PORT,Edit1->Text.c_str(),Edit2->Text.c_str(),
    5.                                         INTERNET_SERVICE_HTTP,NULL,1u);
    6.     if(hConnect!=NULL){
    7.          HINTERNET hRequest=HttpOpenRequest(  hConnect,TEXT("POST"),TEXT("/cgi-bin/auth"),
    8.                                             NULL,NULL,0,0,1u);
    9.  
    10.          if(hRequest!=NULL){
    11.             char str[]="Login=****&Domain=mail.ru&password=*******";
    12.             String strAdd = "Accept: */*";
    13.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    14.             strAdd = "Proxy-Connection: Keep-Alive";
    15.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    16.             strAdd = "Accept-Language: ru";
    17.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    18.             strAdd = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
    19.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    20.             strAdd = "Content-Type: application/x-www-form-urlencoded";
    21.             HttpAddRequestHeaders(hRequest, strAdd.c_str(), strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    22.  
    23.             BOOL bSend = HttpSendRequest(hRequest, NULL,0,(void*)str,strlen(str));
    24.  
    25.             hRequest=HttpOpenRequest(  hConnect,TEXT("POST"),TEXT("/cgi-bin/sentmsg"),
    26.                                             NULL,NULL,0,0,1u);
    27.             char str1[]="To=4c17441f575a01764e565e505319194744&Subject=09a3d3821690d5dacc09&From=f282d980c78cc6dcdfde10eac689de15&user=4f171b02590d54765a565958181342&hasMy=1&ReturnPath=win.mail.ru/cgi-bin";
    28.             strAdd = "Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, */*";
    29.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    30.             strAdd = "Referer: http://win.mail.ru/cgi-bin/sentmsg?compose&429950616";
    31.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    32.             strAdd = "Accept-Language: ru";
    33.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    34.             strAdd = "Content-Type: multipart/form-data; boundary=---------------------------7d92e1d3055a";
    35.             HttpAddRequestHeaders(hRequest, strAdd.c_str(), strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    36.             strAdd = "Proxy-Connection: Keep-Alive";
    37.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    38.             strAdd = "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)";
    39.             HttpAddRequestHeaders(hRequest,strAdd.c_str(),strAdd.Length(), HTTP_ADDREQ_FLAG_ADD);
    40.             bSend = HttpSendRequest(hRequest, NULL,0,(void*)str1,strlen(str1));
    41.           }
    42.        InternetCloseHandle(hRequest);
    43.        }
    44.     InternetCloseHandle(hConnect);
    45.     }
    46. InternetCloseHandle(hInternet);
    Connect происходит авторизация тоже, но вот не хочет падла письмо слать
    Http заголовок смотрел через снифер такой же, как и IE отсылает, что не так и возможно ли такое?
    Это первый вопрос.
    Вопрос номер 2

    Код (Text):
    1. To=4c17441f575a01764e565e505319194744&Subject=09a3d3821690d5dacc09&From=f282d980c78cc6dcdfde10eac689de15&user=4f171b02590d54765a565958181342
    Чем это закодированно?
     
  2. bendme

    bendme New Member

    Публикаций:
    0
    Регистрация:
    10 мар 2009
    Сообщения:
    179
    Ты не въехал, при нажатии на кнопку отправить, методом post передаются данные из формы на скрипт sendmsg. После чего поля To, From, Subject и прочие заносятся в их базу данных; To=4c17441f575a01764e565e505319194744 - это их хэши в базе данных. Потом тебя перенаправляет на скрипт http://win.mail.ru/cgi-bin/sendmsgok, которому перадаются эти хэши, а он по ним смотрит, дошло ли письмо и выдает результат отправки.