Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   отправка писем smpt DELPHI7 (https://forum.antichat.xyz/showthread.php?t=115202)

LeonW 10.04.2009 02:44

отправка писем smpt DELPHI7
 
Здравствуйте!!! решил попробывать сделать программу, отправка писем на емайлы. использую IdSMTP. отправляю 100 писем, при этом отпраляю 1 письмо и отключаю IdSMTP.Disconnect и повторяется пока не закончится список майлов. смпт рамблер.
отсылается 20 30 писем и потом:
вылазиют ошибки
Цитата:

Project1.exe raised exception class EIdProtocolReplyError with message '4.7.0.<data>: data command rejected: rate limit exceeded'. Process stopped. use step or to countine.
-----------------
может выйти -conect timed out или Access violation at address 00404758 in module project.exe
поспрашивал - говорят: "что спам фильтр включается".
возможно как нибудь это исправить??? обойти фильтры?
или это другая ошибка!
Спасибо!!!

s0l_ir0n 10.04.2009 09:47

Я отправлял так:
Код:

uses
IdSMTP, IdMessage;

procedure TForm1.Sendmail;
var
M: TIdMessage;
SMTP: TIdSMTP;
i:integer;
begin
M := TIdMessage.Create(nil);
M.From.Text := 'sendfrom@mail.ru';
M.Recipients.Add;
M.Recipients.Items[0].Text := 'sendto@mail.ru';
M.Subject := 'Test';
M.Body.Add('Hello');

SMTP := TIdSMTP.Create(nil);
SMTP.AuthenticationType := atLogin;
SMTP.Password:='password';
SMTP.Username:='login';
SMTP.Host := 'pop.mail.ru';

SMTP.Connect;
if SMTP.Connected then
begin
For i:=1 to 100 do begin
SMTP.Send(M);
//Gauge1.Progress:=i;
Application.ProcessMessages;
end;
SMTP.Disconnect;
end;
end;

Ушли-пришли все письма.

LeonW 10.04.2009 16:40

нет тоже не помогло 35 писем и ошиька
Цитата:

'4.7.0.<data>: data command rejected: rate limit exceeded'
вот код который использую.
Код:

procedure TForm1.mailer;
 var files1:string; i:integer;
 i1,LastLineLineNumber: integer;
 LMsg: TIdMessage;
begin

  if Timer1.Tag+0 > Memo2.Lines.Count-1
  then LastLineLineNumber:= Memo2.Lines.Count-1
  else LastLineLineNumber:= Timer1.Tag+0;
  for i := Timer1.Tag to LastLineLineNumber do
  begin
    Memo5.Lines.Add(Memo2.Lines[i]);
  DelStroki(memo5);
  end;
 Timer1.Tag := LastLineLineNumber+1;



IdSMTP1.IOHandler:= IdIOHandlerSocket1;
IdIOHandlerSocket1.SocksInfo:= IdSocksInfo1;
IdIOHandlerSocket1.Open;
IdSocksInfo1.Host:=Edit1.Text;
IdSocksInfo1.Username:=Edit2.Text;
IdSocksInfo1.Password:=Edit3.Text;
IdSocksInfo1.Port:=strtoint(Edit4.Text);
IdIOHandlerSocket1.Connected;

if ComboBox1.ItemIndex=0 then IdSocksInfo1.Authentication:=saUsernamePassword else
if ComboBox1.ItemIndex=1 then IdSocksInfo1.Authentication:=saNoAuthentication else
IdSocksInfo1.Authentication:=saUsernamePassword;

if ComboBox3.ItemIndex=0 then IdSocksInfo1.Version:=svNoSocks else
if ComboBox3.ItemIndex=1 then IdSocksInfo1.Version:=svSocks4 else
if ComboBox3.ItemIndex=2 then IdSocksInfo1.Version:=svSocks4A else
if ComboBox3.ItemIndex=3 then IdSocksInfo1.Version:=svSocks5 else
IdSocksInfo1.Version:=svNoSocks;

if ComboBox2.ItemIndex=0 then IdSMTP1.AuthenticationType:=atLogin else
if ComboBox2.ItemIndex=1 then IdSMTP1.AuthenticationType:=atNone else
IdSMTP1.AuthenticationType:=atLogin;

IdSMTP1.Username:=Edit9.Text;
IdSMTP1.Password:=Edit10.Text;
IdSMTP1.Host:=Edit6.Text;
IdSMTP1.Port:=strtoint(Edit7.Text);





 with LMsg do begin
LMsg := TIdMessage.Create(nil);
From.Address:=Edit12.Text;
Sender.Address:=Edit13.Text;
Subject:=Edit15.Text;
Body.Text:=Memo1.Text;
Recipients.EMailAddresses := memo5.Lines.Text;
end;

if CheckBox1.Checked=true then TIdAttachment.Create(IdMessage1.MessageParts,Edit8.Text) else
files1:='no';

with IdSMTP1 do begin
Memo4.Lines.Add('Form '+ Edit12.Text);
Memo4.Lines.Add('To '+ Memo5.Lines.Text);
try
Memo4.Lines.Add('Connected');
Socket.Connected;
Connect(strtoint(Edit11.Text));
Memo4.Lines.Add('sending message');
if IdSMTP1.Connected=True then IdSMTP1.Send(LMsg);
Memo4.Lines.Add('Disconnect');
                   
IdSMTP1.Disconnect;
IdIOHandlerSocket1.Close;

{LMsg.Free;  }

Memo4.Lines.Add('-------------------');
sec:=0;
memo5.Clear;
ProgressBar4.Position:=LastLineLineNumber+1;



except on E : Exception do
 begin
 if IdSMTP1.Connected then try IdSMTP1.disconnect; except end;
  Memo4.Lines.Add('Error sending message');
  Memo4.Lines.Add(E.Message);
      end; end; end;
 end;

а вот таймер копирование
Код:

  procedure ShowTime;
var
    buf: string[20];
begin
if sec < 10 then buf:=buf + IntToStr(sec) else buf:=buf+IntToStr(sec);
form1.label2.Caption:=inttostr(sec);
if sec=10 then form1.mailer;
 end;

30 35писем и вылитает ошибка что только не пробывал....
ед.. только что динамически не знаю как правелно создать.

s0l_ir0n 10.04.2009 20:52

Тогда возможно все-таки защита от спама...попробуй увеличить интервал отправки до 5-10 секунд

LeonW 13.04.2009 23:34

SSL
 
да, посмотрел: проблема с сервером, а где можно скачать эти лицензии их 3 помоему SSL_

_Kris_ 14.04.2009 00:34

спс хэккеры поржал...

s0l_ir0n 14.04.2009 18:21

Кто хэккер? Где хэккер? О_о

LeonW 18.04.2009 18:47

sSL
 
а где их скачивать или как делать???? эти ssl :confused:


Время: 21:58