Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Вниз

Коннект через proxy используя TclientSocket или винапи сокеты   Найти похожие ветки 

 
csr ©   (2004-03-21 14:56) [0]

Собственно сабж. Не могу нормально разобраться как законнектиться к хосту через прокси для обмена инф-цией. В indy - можно используя iohandlersocket в TidTCPClient, но мне нужно это сделать юзая TClientSocket или низкоур. сокеты. Желательно привести пример. Спасибо.


 
csr ©   (2004-03-21 17:12) [1]

Пожалуйста, подскажите если можете. Очень важно! Вот код ф-ціі отыслкі пісьма. Что тут надо добавить, чтоб коннект к смтп серверу проходил через прокси (сокс напр) сервер! Благодарен заранее.

function SendMailEx(mail, from, dnshost: string;
                   dnstimeout: integer;
                   headers, body: string): boolean;
const EL = #13#10;
     SMTPCMD : array [0..5] of string =
     ("HELO %s"+EL,
      "MAIL FROM: %s"+EL,
      "RCPT TO: %s"+EL,
      "DATA"+EL,
      "."+EL,
      "QUIT"+EL);
var wsadata : TWSAData;
   sin : TSockAddrIn;
   sock : TSocket;
   iaddr: integer;
   buf: array[0..255] of char;
   mailhost, fromhost, mailserv: string;

   procedure SendCmd(cmd:string);
   var i:integer;
   begin
      for i:=1 to length(cmd) do
         send(sock, cmd[i], 1, 0);
   end;
begin
  mailhost := copy(mail, pos("@", mail)+1, length(mail));
  fromhost := copy(from, pos("@", from)+1, length(from));
  mailserv := "mymailserver.host.com";
  WSAStartUp(MAKEWORD(2,0), wsadata);
  try
     sock:= socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
     sin.sin_family := AF_INET;
     sin.sin_port := htons(25);
     sin.sin_addr.S_addr := ResolveHost(mailserv);

     if connect(sock, sin, sizeof(sin)) < 0 then
        exit;

     recv(sock, buf, sizeof(buf), 0);

     //  HELO
     SendCmd(Format(SMTPCMD[0], [fromhost]));
     recv(sock, buf, sizeof(buf), 0);

     //  MAIL TO
     SendCmd(Format(SMTPCMD[1], [mail]));
     recv(sock, buf, sizeof(buf), 0);

     .... CUT ....
     И так далее идут команды СМТП  

     //  QUIT
     SendCmd(SMTPCMD[5]);
     recv(sock, buf, sizeof(buf), 0);

  finally
     CloseSocket(sock);
     WSACleanUp;
  end;
end;


 
csr ©   (2004-03-21 18:33) [2]

Неужели никто не знает?


 
csr ©   (2004-03-22 16:40) [3]

Если никто не может бесплатно помочь, то я куплю модифицированный код (чтоб через СОКС коннектился)! Контакт: caesar-soft@tut.by


 
Digitman ©   (2004-03-22 16:51) [4]

$2000


 
csr ©   (2004-03-22 16:58) [5]

Не прикидывайся умным. Тут добавить от силы 10 строк по rfc1928. Я просто уже задолбался с ним - очень плохо там написано - не понятно. Завернул ты однако шутник, сам небойсь даже не в курсе что такое winsock, а понтов полные штаны.


 
Polevi ©   (2004-03-22 17:01) [6]

>csr ©   (22.03.04 16:58) [5]
особенно умиляет ф-ия SendCmd в твоем коде, шедевр


 
csr ©   (2004-03-22 17:07) [7]

2 Polevi ©  
Да ладно ты не придирайся по мелочам. Я пробовал слать сразу весь буффер, но чего-то не прокатило... Но я это исправлю, ты бы лучше подсказал что-нить по поводу коннекта через СОКС. Я тут в ICSовском TWSocket нарыл как он через сокс коннектиться, но нам как-то замудрено, опять же не хочет почему -то у меня нормально коннектиться в моей программе...


 
Digitman ©   (2004-03-22 17:12) [8]


> csr



> Тут добавить от силы 10 строк по rfc1928


вот за эти 10 строк по rfc1928 я и предлагаю тебе, олух ты царя небесного, заплатить))))))


 
csr ©   (2004-03-22 17:16) [9]

2 Digitman ©  
Сам ты такой :)).

Слухай, а не жирновато-ли тебе будет 2 штуки за 10 строк? Одно из двух: или ты блатной, зажравшийся ботаник-кодер, или малолетний понтующийся чувак, который не только не сможет реализовать коннект через сокс, а даже не сможет пустую форму на делфи создать!


 
Digitman ©   (2004-03-22 17:24) [10]


> csr ©   (22.03.04 17:16) [9]


цену я тебе обозначил)


 
csr ©   (2004-03-22 18:38) [11]

За такую цену я лучше еще 2 дня помучаюсь и сам сделаю. Совсем ты зажрался, чувак!



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.05.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.037 c
14-1082700031
karat
2004-04-23 10:00
2004.05.16
Проблема с CD-Rewriteble


1-1083513197
Zelius
2004-05-02 19:53
2004.05.16
Почему не работают хинты?


14-1082613968
Style
2004-04-22 10:06
2004.05.16
Помогите решить проблему?


1-1083529948
KEBZ
2004-05-03 00:32
2004.05.16
Text


14-1083208481
тихий вовочка
2004-04-29 07:14
2004.05.16
Ole





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский