Главная страница
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.023 c
6-29490
loki128
2003-12-08 20:58
2004.02.10
Доступ к файлам


1-29310
HolyMan
2004-02-02 03:08
2004.02.10
WinSpeechAPI


14-29602
Petr V. Abramov
2004-01-19 15:22
2004.02.10
Embedded Firebird/Yaffil


14-29585
Denis_Ac
2004-01-20 07:48
2004.02.10
Даешь Революцию!!!!


6-29489
Dimman1
2003-12-07 19:08
2004.02.10
Sniffer