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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.07.2009, 22:55   #1
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
Вопрос Как отправит на E-mail Несколько файлов в одном письме?

Здравствуйте, вот код отправки 1 файла из листбокса, как его преобразовать чтобы отправить все файлы из листбокса в одном писме???

Код:
procedure TForm1.Button1Click(Sender: TObject);
var
MyFile : string;
begin
 MyFile:= ListBox1.Items[0];
 if IsInternetConnected = true then
 IdSMTP1.Host := 'smtp.mail.ru';
  IdSMTP1.Port := 25;
  IdSMTP1.UserName := 'name';
  IdSMTP1.Password := 'password';
  IdSMTP1.ConnectTimeout := 10000;
  IdSMTP1.Connect;
      with IdMessage1 do
      begin
        From.Text := 'name@mail.ru';;
        ReplyTo.EMailAddresses := 'name@mail.ru';
        Recipients.EMailAddresses := 'mail@mail.ru';
        ReceiptRecipient.Text := 'Тест';
        MessageParts.Clear;
        TIdAttachmentFile.Create(MessageParts, MyFile);
        Subject := 'test';
        IdMessage1.Encoding:= meMIME;
        IdMessage1.CharSet:= 'Windows-1251';
      IdSMTP1.Send(IdMessage1);
      IdSMTP1.Disconnect;
    end;
end;

Использованы компоненты indy 10

Последний раз редактировалось dolphin705; 14.07.2009 в 23:14.
dolphin705 вне форума Ответить с цитированием
Старый 14.07.2009, 23:46   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

А вы не пробовали
TIdAttachmentFile.Create(MessagePar ts, MyFile1);
TIdAttachmentFile.Create(MessagePar ts, MyFile2);
TIdAttachmentFile.Create(MessagePar ts, MyFile3);
Я так, навскидку, индейцами не увлекаюсь.
mihali4 вне форума Ответить с цитированием
Старый 14.07.2009, 23:52   #3
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

ну я вот такой вариант могу предложить
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  mes: TIdMessage;
  Attach: TIdAttachment;
  i : Integer;
begin
  mes:=TIdMessage.Create(Form1);
  IdSMTP1.Host:='smtp.mail.ru';
  IdSMTP1.Port:=2525;
  IdSMTP1.AuthenticationType:=atLogin;
  IdSMTP1.Username:='login';
  IdSMTP1.Password:='pass';

with mes do
  begin
    Body.Add('текст');
    From.Text := 'ваш  E-mail';
    Recipients.EMailAddresses := 'ваш  E-mail';
    Subject := 'тема';
  end;

if ListBox1.Items.Count > 0 then
  for i:=0 to ListBox1.Items.Count-1 do
     Attach:=TIdAttachment.Create(mes.MessageParts,ListBox1.Items.Strings[i]);

  IdSMTP1.Connect;
  If IdSMTP1.Connected Then IdSMTP1.Send(mes);
  IdSMTP1.Disconnect;
end;


procedure TForm1.Button2Click(Sender: TObject);
begin
if (OpenDialog1.Execute) then
 begin
    ListBox1.Items.Add(OpenDialog1.FileName);
    OpenDialog1.FileName:='';
 end;
end;
P.S. Правда не знаю будет работать с indy 10 .
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 15.07.2009, 11:21   #4
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

mihali4, indy особо не увлекаюсь,а с MyFile1, MyFile2 пробовал .... что то не вышло..

spamer, спасибо, поэксперементирую!
dolphin705 вне форума Ответить с цитированием
Старый 16.07.2009, 20:48   #5
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Код работает, но проблема в том, что больше 5 - 10 файлов отправить нельзя, как бы разделить на несколько сообщений по 5 файлов в каждом?
dolphin705 вне форума Ответить с цитированием
Старый 16.07.2009, 22:10   #6
spamer
Software Developer
Старожил
 
Аватар для spamer
 
Регистрация: 19.12.2008
Сообщений: 2,070
По умолчанию

Цитата:
Сообщение от dolphin705 Посмотреть сообщение
Код работает, но проблема в том, что больше 5 - 10 файлов отправить нельзя, как бы разделить на несколько сообщений по 5 файлов в каждом?
А ошибка какая то вылазит, или что??? Просто у меня отправляет больше 10 файлов. Правда программа задумывается на некоторое время, но все отправляется.
Будь проще и люди к тебе потянутся
spamer вне форума Ответить с цитированием
Старый 17.07.2009, 10:40   #7
dolphin705
Форумчанин
 
Аватар для dolphin705
 
Регистрация: 02.08.2008
Сообщений: 213
По умолчанию

Появляется сообщение о спам контроле, просят обратиться в службу nospam! У меня в лист боксе больше 10 файлов, надо отправить в нескольких сообщениях наверно..
dolphin705 вне форума Ответить с цитированием
Старый 12.07.2010, 15:54   #8
jihot
Начинающий кодер
Пользователь
 
Аватар для jihot
 
Регистрация: 26.01.2010
Сообщений: 72
По умолчанию

Не нашел у себя компонент IdAttachmentFile, выложите кто-нибудь пожалуйста.
with love ^.^
jihot вне форума Ответить с цитированием
Старый 14.07.2010, 19:27   #9
jihot
Начинающий кодер
Пользователь
 
Аватар для jihot
 
Регистрация: 26.01.2010
Сообщений: 72
По умолчанию

. .
with love ^.^
jihot вне форума Ответить с цитированием
Старый 14.07.2010, 22:36   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

в uses добавьте IdAttachmentFile.
и это не компонент а класс.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как обработать несколько файлов? never_mind Microsoft Office Excel 3 28.01.2009 11:57
Как проиграть несколько звуковой файлов wav? Volkogriz Мультимедиа в Delphi 1 25.11.2008 10:12
несколько таблиц в одном DBGrid DaemonSAT БД в Delphi 3 06.07.2008 13:27
можно ли в одном классе реализовать несколько интерфейсов Galinka08 Общие вопросы по Java, Java SE, Kotlin 2 08.03.2008 21:33
Как удалить несколько файлов? Kashp Общие вопросы Delphi 2 23.08.2007 13:38