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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.11.2011, 21:44
foxer foxer вне форума
Прохожий
 
Регистрация: 08.11.2011
Сообщения: 14
Репутация: 10
По умолчанию attach нужна помощь

есть код, должен отправлять несколько файлов
но если хоть 1 файла нет, то программа виснет с ошибками.
подскажите как исправить чтобы программа отправляла даже если отсутствует 1 или 2 файла

Код:
procedure send;
var
attach:TidAttachment;
msg:tidmessage;
i:integer;
begin
Form1.idSMTP1.AuthenticationType:= atLogin;
Form1.idSMTP1.Username:='login';
Form1.idSMTP1.Password:='*****';
Form1.idSMTP1.Host:='smtp.yandex.ru';
Form1.IdSMTP1.Port:=25;
msg:=TIdMessage.Create(nil);
msg.Body.Add('files');
msg.Subject:='file test';
msg.From.Address:='login@yandex.ru';
msg.From.Name:='attach';
msg.Recipients.EMailAddresses:='to@Yandex.ru';
msg.IsEncoded:=true;
attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file1.zip');
attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file2.zip');
attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file3.zip');
attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file4.zip');
attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file5.zip');
Form1.idSMTP1.Connect();
Form1.idSMTP1.Send(msg);
Form1.IdSMTP1.Disconnect;
end;
несколько файлов могут отсутствовать
Ответить с цитированием
  #2  
Старый 09.11.2011, 21:48
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

Так проверять надо на наличие файла в папке, прежде чем его прилеплять:
Код:
if FileExists('C:\papka\file1.zip')
then attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file1.zip');
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 09.11.2011, 22:02
foxer foxer вне форума
Прохожий
 
Регистрация: 08.11.2011
Сообщения: 14
Репутация: 10
По умолчанию

Страдалецъ
вот так правильно?
Код:
procedure send;
var
attach:TidAttachment;
msg:tidmessage;
i:integer;
begin
Form1.idSMTP1.AuthenticationType:= atLogin;
Form1.idSMTP1.Username:='login';
Form1.idSMTP1.Password:='*****';
Form1.idSMTP1.Host:='smtp.yandex.ru';
Form1.IdSMTP1.Port:=25;
msg:=TIdMessage.Create(nil);
msg.Body.Add('files');
msg.Subject:='file test';
msg.From.Address:='login@yandex.ru';
msg.From.Name:='attach';
msg.Recipients.EMailAddresses:='to@Yandex.ru';
msg.IsEncoded:=true;
if FileExists('C:\papka\file1.zip')
then attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file1.zip');
if FileExists('C:\papka\file2.zip')
then attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file2.zip');
if FileExists('C:\papka\file3.zip')
then attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file3.zip');
if FileExists('C:\papka\file4.zip')
then attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file4.zip');
if FileExists('C:\papka\file5.zip')
then attach:=TIdAttachment.Create(msg.MessageParts,'C:\papka\file5.zip');
Form1.idSMTP1.Connect();
Form1.idSMTP1.Send(msg);
Form1.IdSMTP1.Disconnect;
end;
Ответить с цитированием
  #4  
Старый 09.11.2011, 23:15
Аватар для ALexandr555
ALexandr555 ALexandr555 вне форума
Специалист
 
Регистрация: 09.10.2010
Адрес: Тольятти
Сообщения: 803
Версия Delphi: Delphi 7
Репутация: 2064
По умолчанию

правильно)
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

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

ВКонтакте   Facebook   Twitter