Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.06.2009, 18:56   #1
Mike Free
 
Регистрация: 06.11.2008
Сообщений: 6
По умолчанию ID SMTP через сокс прокси

Нужно отправить сто писем, но возникает проблема: анти-спам фильтры после 30ти сообщений включаются и не дают больше отослать письмо.
Много вопросов по этой теме но так и не нашёл нормальных ответов.
Знаю чт оможно использовать IDSocks info и IdIOHandler, но незнаю как их связать.Пробовал писать через Winsock2 сделал вот это а дальше незнаю как быть(
Код HTML:
procedure TForm1.Button1Click(Sender: TObject);
VAR
 I:TWSAData ;
 S:TSocket;
 SAddr:TSockAddr ;
 Buffer : array[0..153] of Char ;
 Temp_int : integer ;
begin
 IF WSAStartup($202, I)<>0 then halt;
 S := socket(AF_INET,SOCK_STREAM,0) ;
 SAddr.sin_family := AF_INET;
 SAddr.sin_port := htons(9000) ;
 SAddr.sin_addr.S_addr := inet_addr('78.111.75.173') ;
 Connect( S, @SAddr, SizeOf( SAddr ) ) ;
 Buffer[0] := #05 ;
 Buffer[1] := #01 ;
 Buffer[2] := #00 ;
 send( S, Buffer, 3, 0 ) ;
 ZeroMemory( @Buffer, Sizeof(Buffer) ) ;
 recv( S, Buffer, 2, 0 ) ;
 if Buffer[1] <> #00
 then halt ;
 ZeroMemory( @Buffer, Sizeof(Buffer) ) ;
 Buffer[0] := #05 ;
 Buffer[1] := #01 ;
 Buffer[2] := #00 ;
 Buffer[3] := #03 ;
 Buffer[4] := Char(lstrlen('smtp.mail.ru')) ;
 lstrcpyn( @Buffer[5], 'smtp.mail.ru', lstrlen('smtp.mail.ru')+1 ) ;
 Temp_int := htons(25) ;
 move( Temp_int, Buffer[5+lstrlen('smtp.mail.ru')], 2 ) ;
 send( S, Buffer, lstrlen('smtp.mail.ru')+5+2, 0 ) ;
 ZeroMemory( @Buffer, Sizeof(Buffer) ) ;
 recv( S, Buffer, sizeof(Buffer), 0 ) ;
 Showmessage(Buffer[0]);
If Buffer[0]=#05 then Showmessage('Ok');
В общем требуется ответ на вопрос как связать выше сказанные компоненты либо как доделать через винсок.
Mike Free вне форума Ответить с цитированием
Старый 18.06.2009, 08:34   #2
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

На примере Indy 10.5.5
бросаете на форму IdSocksInfo (вкладка Indy/Misc), настраиваете его под себя (назовем его idscksnf1).Ну и разумеется на форме присутствует Idsmtp с вкладки Indy/clients (назовем его IdSMTP1)
Далее
Код:
uses .... ,idiohandler;
......

procedure TForm76.btn1Click(Sender: TObject);
begin
if not(assigned(IdSMTP1.IOHandler)) then
	IdSMTP1.IOHandler:=TIdIOHandlerSocket.MakeDefaultIOHandler(IdSMTP1);
(IdSMTP1.IOHandler as TIdIOHandlerSocket).TransparentProxy:=idscksnf1;
end;
Вместо TIdIOHandlerSocket можно, разумеется, использовать любой класс Idiohandler
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 18.06.2009, 21:49   #3
Mike Free
 
Регистрация: 06.11.2008
Сообщений: 6
По умолчанию

У мя Delphi 7
IdSMTP1.IOHandler:=TIdIOHandlerSock et.MakeDefaultIOHandler(IdSMTP1);
ивот эта строка не компилится нет такой функции..
Mike Free вне форума Ответить с цитированием
Старый 18.06.2009, 22:04   #4
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Может тогда проще Indy обновить до последней версии ?
http://kvendi.pp.ru/?p=66
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Старый 19.06.2009, 11:38   #5
Mike Free
 
Регистрация: 06.11.2008
Сообщений: 6
По умолчанию

Косяков не бут?
Mike Free вне форума Ответить с цитированием
Старый 19.06.2009, 11:41   #6
Квэнди
Старожил
 
Аватар для Квэнди
 
Регистрация: 13.12.2006
Сообщений: 3,859
По умолчанию

Смотря что иметь ввиду под косяками
ICQ не для вопросов, а для предложений. Для вопросов используйте форум
IRC канал клуба программистов|Мои статьи
Квэнди вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отобразить в ProgressBar процесс отправки писем через SMTP leon2009 Работа с сетью в Delphi 15 20.03.2009 21:26
работа через прокси BESS Работа с сетью в Delphi 18 28.09.2008 21:45
Отправка почты (smtp) через proxy dimonbest Работа с сетью в Delphi 9 20.06.2008 14:07
Подключение БД через прокси D-mon БД в Delphi 2 30.05.2008 15:30
Отправка через SMTP Hottabych Работа с сетью в Delphi 3 09.02.2008 15:18