отправка почты на delphi

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by Leon2009, 27 Mar 2016.

  1. Leon2009

    Leon2009 New Member

    Joined:
    1 Sep 2009
    Messages:
    44
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте! не могу отправить почту, пробовал разными путями, но вылазит какая то пакость. я думаю что у меня часто меняется ip. можно ли это как нибудь обойти?
    Code:
    IdSocksInfo1.Port:=465;
        IdSocksInfo1.Version:=svNoSocks;
        IdSSLIOHandlerSocket1.SocksInfo:=IdSocksInfo1;
        IdSSLIOHandlerSocket1.SSLOptions.Method:=sslvTLSv1;
        idSmtp1.IOHandler:= IdSSLIOHandlerSocket1;
        idSmtp1.Host := 'smtp.rambler.ru';
        //íå çàáûâàåì äðóãèå íàñòðîéêè SMTP ëîãèí è ïàðîëü
        idMessage1.Body.Text := '222111';
        idMessage1.From.Text := '[email protected]';
        idMessage1.Recipients.EMailAddresses := '[email protected]';
        IdMessage1.CharSet:='windows-1251';
        IdMessage1.ContentType:='text/html';
        IdMessage1.Date:=StrToDate('27.03.2016');
        //idMessage1.Subject := 'hello ';
        IdMessage1.Subject:=ConvertToWIN1251('Òåìà222');
        idSmtp1.Connect(15000);
        idSmtp1.Send(idMessage1);
        idSmtp1.Disconnect;
    [​IMG]
     
  2. begin_end

    begin_end Green member

    Joined:
    4 Jan 2007
    Messages:
    265
    Likes Received:
    638
    Reputations:
    476
    Пример кода, который однозначно когда-то успешно работал (Delphi 7), в нем отправка почты авторизована:
    Code:
    procedure SendMail(MailText:TStrings;SendDate,SenderName,SenderAddress,RecAddress,RecServer,MailTheme,Attach,AuthUser,AuthPass:string;IsAttach,IsAuth:boolean);
    var idSMTP1: TIdSMTP; Msg: TIdMessage;
    begin
    idSMTP1:=TIdSMTP.Create(Application);
    IdSMTP1.Port:=25;
    IdSMTP1.Host := RecServer;
    IdSMTP1.Connect(2500);
    if IdSMTP1.Connected=True then
    begin
    if IsAuth then
    begin
    IdSMTP1.AuthenticationType:=atLogin;
    IdSMTP1.Username:=AuthUser;
    IdSMTP1.Password:=AuthPass;
    end else
    begin
    IdSMTP1.AuthenticationType:=atNone;
    end;
    Msg:=TIdMessage.Create(Application);
    Msg.Subject:=MailTheme;
    Msg.Recipients.EMailAddresses:=RecAddress;
    Msg.From.Address:=SenderAddress;
    Msg.From.Name:=SenderName;
    Msg.Body.Text:=MailText.Text;
    Msg.Date:=StrToDate(SendDate);
    if IsAttach then TIdAttachment.Create(Msg.MessageParts,Attach);
    idSMTP1.Send(Msg);
    end;
    idSMTP1.Free;
    Msg.Free;
    end;
     
    _________________________
    pravdaru likes this.
  3. pravdaru

    pravdaru Member

    Joined:
    5 Dec 2015
    Messages:
    176
    Likes Received:
    47
    Reputations:
    0
    Дык он ему написал, что ремблер детектит как спам скрипт.. Типа, сервак ему доступа не дает на отправку.
     
  4. begin_end

    begin_end Green member

    Joined:
    4 Jan 2007
    Messages:
    265
    Likes Received:
    638
    Reputations:
    476
    Так у него отправка почты без авторизации логином-паролем от рамблера, по хорошему такое не должно пропустить на любом нормальном почтовике.
     
    _________________________
    pravdaru likes this.
  5. pravdaru

    pravdaru Member

    Joined:
    5 Dec 2015
    Messages:
    176
    Likes Received:
    47
    Reputations:
    0
    А блин) Понял) Сорри)