Не пашет отправка мыла :*(

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by zl0y, 4 Aug 2007.

  1. zl0y

    zl0y Banned

    Joined:
    13 Sep 2006
    Messages:
    371
    Likes Received:
    270
    Reputations:
    109
    Кто может подсказать почему данный код неработает :confused: уже несколько примеров перепробывал,все не пашут хотя баннер на почте 250 тоесть доступ есть :)

    PHP:
    program pp;

    uses
      Windows
    ,SysUtils,winsock,dialogs;
    var
           
    S:TSocket;
           
    Addr:TSockAddr;
           
    Data:TWSAData;
           
    Len:integer;
           
    Buf:array[1..100of char;

    procedure SendStr(Str:string);
    var 
    C:char;
    begin
    while (length(Str)>0) do
           
    begin
           C
    :=Str[1];
           
    delete(Str,1,1);
           
    Send(S,C,1,0);
           
    end;
    end;

    begin
    WSAStartup
    ($101,Data);
    S:=Socket(AF_Inet,Sock_Stream,0);
    Addr.sin_family:=PF_Inet;
    Addr.sin_port:=HToNS(25);

    //Address of 'smtp.mail.ru' = 194.67.23.111
    Addr.sin_addr.S_un_b.s_b1:=chr(194);
    Addr.sin_addr.S_un_b.s_b2:=chr(67);
    Addr.sin_addr.S_un_b.s_b3:=chr(23);
    Addr.sin_addr.S_un_b.s_b4:=chr(111);

    FillChar(Addr.sin_zero,SizeOf(Addr.sin_zero),0);
    if 
    not (Connect(S,Addr,SizeOf(TSockAddr))=0then
           begin
           
    //error
           
    ShowMessage('Error!');
           
    halt;
           
    end else
           
    begin
           ShowMessage
    (Buf);
           
    SendStr('HELO 1235'+#13#10);
           
    Recv(S,Buf,SizeOf(Buf),MSG_PEEK );
           
    ShowMessage(Buf);
           
    SendStr('MAIL FROM: ms@mail.ru'+#13#10);
           
    Recv(S,Buf,SizeOf(Buf),MSG_PEEK );
           
    ShowMessage(Buf);
           
    SendStr('RCPT TO: z10y@mail.ru'+#13#10);
           
    Recv(S,Buf,SizeOf(Buf),MSG_PEEK );
           
    ShowMessage(Buf);
           
    SendStr('DATA'+#13#10);
           
    Recv(S,Buf,SizeOf(Buf),MSG_PEEK );
           
    ShowMessage(Buf);
           
    SendStr('Helloooooo !'+#13#10);
           
    SendStr('.'+#13#10);
           
    Recv(S,Buf,SizeOf(Buf),MSG_PEEK );
           
    ShowMessage(Buf);
           
    SendStr('QUIT'+#13#10);
           
    Recv(S,Buf,SizeOf(Buf),MSG_PEEK );
           
    ShowMessage(Buf);
           
    shutdown(s,0);
           
    end;
    end.
     
  2. KEZ

    KEZ Ненасытный школьник

    Joined:
    18 May 2005
    Messages:
    1,604
    Likes Received:
    754
    Reputations:
    397
    После того, как отправишь данные надо ещё перенос строки и точку
    SendStr( 'Hello !'+#13#10 );
    SendStr( '.'+#13#10 );
     
  3. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Один хрен оно не будет работать... Аффтар отправляет почту без авторизации, а эт уже баян... Сто раз говорилось...