Текущий архив: 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.47 MB
Время: 0.036 c