Главная страница
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.019 c
1-29350
serg128
2004-01-29 12:56
2004.02.10
Как выбрать несколько веток в TTreeView?


3-29273
Igoryok
2004-01-16 16:21
2004.02.10
Недостаточно сведений ключевого поля для обновления


1-29303
Petrovitch
2004-01-30 11:01
2004.02.10
Рус/Lat как переключить в программе?


6-29515
ruffest
2003-12-02 22:09
2004.02.10
Wake On Lan


4-29661
LOX
2003-12-07 13:56
2004.02.10
Timage и буфер обмена