Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.16;
Скачать: CL | DM;

Вниз

Коннект через 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.043 c
3-1082701656
helimos
2004-04-23 10:27
2004.05.16
Thread ADO Oracle - Необходимо во время запроса параллельно счи


3-1082618842
avgur
2004-04-22 11:27
2004.05.16
Вопрос о клиент сервере


14-1082974344
Chainik
2004-04-26 14:12
2004.05.16
Отключение планировщика заданий


1-1083221961
Tex
2004-04-29 10:59
2004.05.16
Преобразование quoted string в control string


3-1082198765
Relaxxx
2004-04-17 14:46
2004.05.16
Вопрос по SQL!!!