отправка писем smpt DELPHI7

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by LeonW, 10 Apr 2009.

  1. LeonW

    LeonW New Member

    Joined:
    11 Oct 2005
    Messages:
    19
    Likes Received:
    1
    Reputations:
    0
    Здравствуйте!!! решил попробывать сделать программу, отправка писем на емайлы. использую IdSMTP. отправляю 100 писем, при этом отпраляю 1 письмо и отключаю IdSMTP.Disconnect и повторяется пока не закончится список майлов. смпт рамблер.
    отсылается 20 30 писем и потом:
    вылазиют ошибки
    поспрашивал - говорят: "что спам фильтр включается".
    возможно как нибудь это исправить??? обойти фильтры?
    или это другая ошибка!
    Спасибо!!!
     
  2. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Я отправлял так:
    Code:
    uses
    IdSMTP, IdMessage;
    
    procedure TForm1.Sendmail;
    var
    M: TIdMessage;
    SMTP: TIdSMTP;
    i:integer;
    begin
    M := TIdMessage.Create(nil);
    M.From.Text := '[email protected]';
    M.Recipients.Add;
    M.Recipients.Items[0].Text := '[email protected]';
    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;
    Ушли-пришли все письма.
     
  3. LeonW

    LeonW New Member

    Joined:
    11 Oct 2005
    Messages:
    19
    Likes Received:
    1
    Reputations:
    0
    нет тоже не помогло 35 писем и ошиька
    вот код который использую.
    Code:
    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;
    
    
    а вот таймер копирование
    Code:
      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писем и вылитает ошибка что только не пробывал....
    ед.. только что динамически не знаю как правелно создать.
     
  4. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Тогда возможно все-таки защита от спама...попробуй увеличить интервал отправки до 5-10 секунд
     
  5. LeonW

    LeonW New Member

    Joined:
    11 Oct 2005
    Messages:
    19
    Likes Received:
    1
    Reputations:
    0
    SSL

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

    _Kris_ Elder - Старейшина

    Joined:
    22 Jul 2008
    Messages:
    53
    Likes Received:
    31
    Reputations:
    5
    спс хэккеры поржал...
     
  7. s0l_ir0n

    s0l_ir0n Active Member

    Joined:
    14 Mar 2009
    Messages:
    399
    Likes Received:
    144
    Reputations:
    18
    Кто хэккер? Где хэккер? О_о
     
  8. LeonW

    LeonW New Member

    Joined:
    11 Oct 2005
    Messages:
    19
    Likes Received:
    1
    Reputations:
    0
    sSL

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