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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2017, 13:24   #1
alex0097
Форумчанин
 
Аватар для alex0097
 
Регистрация: 06.07.2010
Сообщений: 123
По умолчанию отправка e-mail

Всем привет. как бы это глупо не звучало, но как отправить e-mail.
Порты 25 уже не работают. а следовательно стандартный метод не отправляет почту. Нашел в интернете исходник. Но он тоже не пашет.

Код:
IdMessage1 := TIdMessage.Create;
IdMessage1.From.Address:='****@bk.ru';
IdMessage1.Recipients.EMailAddresses:='*****@mail.ru';
IdMessage1.Subject:= UTF8Encode('IP_RDP');
IdMessage1.Date:= now;

{настройка компонентов перед отправкой}
IdSMTP1 := TIdSMTP.Create(nil);

IdSMTP1.Host:='smtp.bk.ru';
IdSMTP1.Port:=495; // обычно при использование ssl 495, 587 
IdSMTP1.Username:='******@bk.ru';
IdSMTP1.Password:='*******';
IdSMTP1.AuthType:= atDefault;



{это необходимо использовать для SSL}
IdSSLIOHandlerSocketOpenSSL1:= TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdSSLIOHandlerSocketOpenSSL1.Destination := IdSMTP1.Host+':'+IntToStr(IdSMTP1.Port);
IdSSLIOHandlerSocketOpenSSL1.Host := IdSMTP1.Host;
IdSSLIOHandlerSocketOpenSSL1.Port := IdSMTP1.Port;
IdSSLIOHandlerSocketOpenSSL1.DefaultPort := 0;
IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvTLSv1;
//IdSSLIOHandlerSocketOpenSSL.SSLOptions.Method := sslvSSLv2;

IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode := sslmUnassigned;

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

{отправляем письмо}
IdSMTP1.Connect();
  if idsmtp1.Connected then
  showmessage('1111');
IdSMTP1.Send(IdMessage1);
Application.ProcessMessages;
IdSMTP1.Disconnect;
idMessage1.Free;
IdSSLIOHandlerSocketOpenSSL1.Free;
idSMTP1.Free;
end;
alex0097 вне форума Ответить с цитированием
Старый 24.01.2017, 07:44   #2
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Код:
    SMTP := TIdSMTP.Create(Application);
    SMTP.Host := 'smtp.mail.ru';
    SMTP.Port := 465;
    SMTP.AuthType := satDefault;
    SMTP.Username := SMTPEmail;
    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.CharSet := 'utf-8'; // Кодировка письма
    msg.Subject := ProgramName; // Тема сообщения
    msg.From.Name := GetProgramName; // Имя отправителя
    msg.From.Address := SMTPEmail; // E-mail отправителя
    msg.Recipients.EMailAddresses := FormSettings.EEmail.Text; // E-mail получателя
    msg.Body.Add(SL.Text); // Текст письма

    try
      SMTP.Connect;
    except
    end;

    if SMTP.Connected then
    begin
      try
        SMTP.Send(msg);
        txt := 'Отправлено оповещение на E-mail';
      except
        on E: Exception do txt := 'SMTP: ' + E.Message;
      end;
    end
    else txt := 'Не удалось отправить оповещение на E-mail';

    SMTP.Disconnect;
    FreeAndNil(SMTP);
    FreeAndNil(SSLOpen);
    FreeAndNil(msg);

Последний раз редактировалось Shouldercannon; 24.01.2017 в 08:39.
Shouldercannon вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка на e-mail romanzi Работа с сетью в Delphi 18 08.03.2014 14:09
Отправка файлов по e-mail mustang007 Работа с сетью в Delphi 17 20.11.2011 15:28
e-mail отправка romanzi Работа с сетью в Delphi 1 20.11.2010 21:10