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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2017, 15:40   #1
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию indy почему второй раз не отправляется на емейл

почему второй раз не отправляется на емейл ? , первый раз нажимаешь отправляется на почту , а следующий раз нажимаешь ошибку выдает

вот код

Код:
procedure TForm1.Button2Click(Sender: TObject);
begin

  idsmtp1.Host := 'smtp.mail.ru';
  idsmtp1.Port := 465;
  idsmtp1.AuthType := satDefault;
  idsmtp1.Username := '****"@mail.ru';
  idsmtp1.Password := '******';

  IdSSLIOHandlerSocketOpenSSL1.Destination := idsmtp1.Host+':'+IntToStr(idsmtp1.Port);
  IdSSLIOHandlerSocketOpenSSL1.Host := idsmtp1.Host;
  IdSSLIOHandlerSocketOpenSSL1.Port := idsmtp1.Port;
  IdSSLIOHandlerSocketOpenSSL1.DefaultPort := 0;
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv23;
  IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmUnassigned;

  idsmtp1.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
  idsmtp1.UseTLS := utUseImplicitTLS;


  idmessage1.ContentType:='text/html; charset=windows-1251';
  idmessage1.Body.Text:=memo1.lines.text;

  idmessage1.Subject := 'dresden';
  idmessage1.From.Address :='*******@mail.ru';
  idmessage1.From.Name := Memo1.Lines[0];
  idmessage1.Recipients.EMailAddresses :='****************@yandex.ru';

  idsmtp1.Connect;

 if idsmtp1.Connected then
    begin
      idsmtp1.Send(idmessage1);
      ShowMessage ('Сообщение отправлено');
      end   else
      ShowMessage ('Не удалось отправить сообщение');
idsmtp1.Disconnect();
idsmtp1.Free;
idmessage1.Free;

end;

Последний раз редактировалось alman12; 20.02.2017 в 15:43.
alman12 вне форума Ответить с цитированием
Старый 21.02.2017, 03:19   #2
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

А если так ?!
Код:
procedure TfrmAbout.btnSendClick(Sender: TObject);
var
  SMTP    : TIdSMTP;
  msg     : TIdMessage;
  SSLOpen : TIdSSLIOHandlerSocketOpenSSL;
  oldcur: TCursor;
begin
 if Trim(Memo1.Lines.Text) ='' then
   begin
     ShowMessage(' Письмо пустой .!!! ');
     Memo1.SetFocus;
     Abort;
   end
   else
   //-------------------------
    oldcur := screen.Cursor;
    screen.Cursor := crHourGlass;
   //-------------------------
   try
    SMTP := TIdSMTP.Create(Application);
    SMTP.Host := 'smtp.mail.ru';
    SMTP.Port := 465;
    SMTP.AuthType := satDefault;
    SMTP.Username := '****"@mail.ru';
    SMTP.Password := '********';

    //--- SSL
    SSLOpen := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
    SSLOpen.Destination := SMTP.Host+':'+IntToStr(SMTP.Port);
    SSLOpen.Host := SMTP.Host;
    SSLOpen.Port := SMTP.Port;
    SSLOpen.DefaultPort := 0;
    SSLOpen.SSLOptions.Method := sslvSSLv23;
    SSLOpen.SSLOptions.Mode := sslmUnassigned;

    SMTP.IOHandler := SSLOpen;
    SMTP.UseTLS := utUseImplicitTLS;

    msg := TIdMessage.Create(Application);

    msg.Subject := 'Название темы';
    msg.From.Address := '****@mail.ru'; //  From= от куда
    msg.From.Name := 'xxxxxx ';  // Фио отправители
    msg.Recipients.EMailAddresses := 'Vasia@gmail.com';    //  Получатель

    msg.ContentType := 'text/plain; CharSet = UTF-8'; // Кодировка
    msg.Body.Text := AnsiToUtf8(Memo1.Lines.Text);

    SMTP.Connect;
    if SMTP.Connected then
      begin
        SMTP.Send(msg);
        ShowMessage ('Сообщение отправлено!');
      end else
        ShowMessage ('Не удалось отправить сообщение');
    SMTP.Disconnect();
    SMTP.Free;
    msg.Free;
   finally
       //------------------------------------
      screen.Cursor := oldcur;
      Memo1.Lines.Text := '';
   end;

end;
xxbesoxx вне форума Ответить с цитированием
Старый 24.02.2017, 01:53   #3
alman12
Форумчанин
 
Регистрация: 30.12.2013
Сообщений: 466
По умолчанию

да этот код работает и отправляется без проблем . А в чем разница на этих кодах? Почему в моем коде второй раз не отправляется ?
alman12 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как запустить поток второй раз Dеlphi Общие вопросы Delphi 11 04.03.2015 16:45
Почему на отправляется запрос json? Parallelogram JavaScript, Ajax 3 09.02.2015 16:05
почему не отправляется почта alman12 Общие вопросы Delphi 42 27.01.2015 14:03
Графическая функция второй раз не срабатывает... AlexFox PHP 2 13.09.2009 17:27