Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.12.2018, 00:09
Marat1988 Marat1988 вне форума
Прохожий
 
Регистрация: 23.12.2018
Адрес: Калининград
Сообщения: 1
Версия Delphi: Delphi 5 и 7
Репутация: 10
По умолчанию Indy10 5491 и Delphi 7

Добрый день. Скачал последнюю, на сегодняшний день, версию indy с сайта https://indy.fulgan.com/ZIP/. Установил на delphi 7. Все четко. Прошу помощь допилить мой код. Уже разобрался, как отправлять сообщения. Проблему с кодировкой тоже решил (В модуле IdGlobalProtocols.pas находим функцию IdGetDefaultCharSet и меняем строку LANG_RUSSIAN: Result := idcsKOI8_R; на LANG_RUSSIAN: Result := idcsWINDOWS_1251; )

Не могу разобраться, как прикреплять к сообщению файлы и отправлять их. Поиска в в google наткнулся на следующий код:
Код:
TIdAttachmentFile.Create(IdMessage1, 'D:\Проба.zip');

Как мне адаптировать данный код в мой проект. Вот текущий код моего проекта. Отправка работает отлично. Осталось разобраться только с вложениями. На форме располагаются компоненты TIdSMTP, TIdMessage1, TIdSSLIOHandlerSocketOpenSSL

Код:
procedure TMail.Button2Click(Sender: TObject);
begin
 IdMessage1:=TIdMessage.Create;
 IdMessage1.From.Address:='marat.tuhtarov@yandex.ru';
 IdMessage1.From.Name:='Злой админ';
 IdMessage1.Recipients.EMailAddresses:='pirat03071988@mail.ru';
 IdMessage1.ContentType:='text/plain';
 IdMessage1.CharSet:='windows-1251';
 IdMessage1.Body.Text:='ТЕСТ';
 IdMessage1.Subject:='Рассылка новых объектов';
 IdMessage1.Date:=now;

 {настройка компонентов перед отправкой}
 IdSMTP := TIdSMTP.Create(nil);
 IdSMTP.Host:='smtp.yandex.ru';
 IdSMTP.Port:=465;
 IdSMTP.Username:='marat.tuhtarov';
 IdSMTP.Password:='MyPassword';

 IdSMTP.AuthType:=satDefault;

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

 IdSMTP.IOHandler:=IdSSLIOHandlerSocketOpenSSL;
 IdSMTP.UseTLS:=utUseExplicitTLS;
 try
  {отправляем письмо}
   IdSMTP.Connect();
 except
  MessageBox(handle,pchar('ОШИБКА!!! Подключение к SMTP серверу не удалось'+#10+#13+
'Проверьте настройки программы, а так же не блокируется ли'+#10#13+
'порт SMTP сервера антивирусом или файреволом(брандмауэром)'), pchar(Mail.Caption), 48);
  exit;
 end;
 IdSMTP.Send(IdMessage1);
 Application.ProcessMessages;
 IdSMTP.Disconnect;
end;

Код:
procedure TMail.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 idMessage1.Free;
 IdSSLIOHandlerSocketOpenSSL.Free;
 idSMTP.Free;
end;
__________________
С уважением, Тухтаров М.Р.
Ответить с цитированием
  #2  
Старый 24.12.2018, 20:35
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Я так понимаю, что просто добавить код, который ты нашел.
Вот тут есть какой-то пример: https://stackoverflow.com/questions/...t-working?rq=1
Не знаю, для какой версии Инди, там могут быть небольшие различия.

ЗЫ. Походу, ты используешь компоненты, созданные в Design-time. Соответсвенно, при формировании следующего сообщения не забывай чистить IdMessage.
Ответить с цитированием
Ответ


Delphi Sources

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

Расширенный поиск
Опции просмотра

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

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:23.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter