Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.10;
Скачать: CL | DM;

Вниз

по поводу TIdAttachment   Найти похожие ветки 

 
alt7   (2003-12-08 17:44) [0]

Бьюся вот, как прикрепить к сообщению 2 и более файла и отправить их через TIdSMTP ?

Мой кусок кода:

IdSMTP.Host := Host;
IdSMTP.Password := PWD;
IdSMTP.Username := E_Mail_From;

IdSMTP.Connect();
IdMsg.Body.SetText("*.dbf");
IdMsg.Subject := "*.dbf";
IdMsg.From.Address := Send_REC.E_Mail_From;
IdMsg.Recipients.EMailAddresses := Send_REC.E_Mail_To[0];
for i := 1 to Length(Send_REC.E_Mail_To)-1 do
IdMsg.Recipients.EMailAddresses := IdMsg.Recipients.EMailAddresses + "; " + Send_REC.E_Mail_To[i];

TIdAttachment.Create(IdMsg.MessageParts, Send_REC.DIR_OUT+"\ca.zip");

IdSMTP.Send(IdMsg);
IdSMTP.Disconnect;

Вообщем из Record (Send_REC) и не только, заполняем поля в IdSMTP, IdMsg.. несколько получателей этого письма.
Там где Create - пример, для одного файла и он работает правильно.. а как вот подцепить 2 и более файла и отправить?
С этим MessageParts черт ногу сломит, демок инди у меня нет, на сайте их не нашел...


 
Sherbacov ©   (2003-12-10 01:00) [1]

uses IdMessage

Добавляем:
TIdAttachment.Create(<Сообщение>,<Имя файла>);


 
alt7   (2003-12-10 11:50) [2]

Кхм, как просто. А как тогда сделать удаление файлов из каталога, которые были отосланы?

Пробовал:

IdAt := TIdAttachment.Create(<Сообщение>,<Имя файла>);
IdAt.FileIsTempFile := true;

Но не удаляет...
Как проверить, что SendMsg отработал правильно, и файлы отосланы?
TIdSMTP.Send - процедура, ничего не возвращает...

1) Всунул в обработчик OnWorkEnd проверку на wmWrite, если true - то типа как отосланы и через DeleteFile удаляю файлы... Наверняка OnWorkEnd сработает, даже если письмо не отошлется, так ведь?

2) Есть еще идея в OnWork впихнуть проверку... Там есть счетчик AWorkCount количество байтов отосланых. Если > 0, то в глобальную переменную (gl_Write к примеру) записать true и в OnWorkEnd проверять, if AWorkMode=wmWrite and gl_Write then удалить файлы..

Есть идеи? Если нет, то каков вариант правилен: 1 или 2 ?
Если оба, то конечно выберу 1) так как OnWork срабатывает каждый раз, когда остылается порция данных....


 
alt7   (2003-12-10 11:52) [3]

Вместо "Как проверить, что SendMsg отработал правильно, и файлы отосланы?"
читать "Как проверить, что Send отработал правильно, и файлы отосланы?"



Страницы: 1 вся ветка

Текущий архив: 2004.02.10;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.021 c
1-29333
Werewolf
2004-01-29 17:52
2004.02.10
Прозрачный TreeView


1-29346
Eli
2004-01-29 12:50
2004.02.10
ActiveControl.Handle


14-29553
Yuri Btr
2004-01-20 21:12
2004.02.10
Файрволл на обе стороны ?


7-29635
ikivio
2003-11-23 07:38
2004.02.10
Привилегии записи в реестр.


1-29445
Shark
2004-01-30 20:50
2004.02.10
Ищется конвертор HTML в Doc