Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.012 c
14-29536
DCoder
2004-01-20 19:39
2004.02.10
Как заблокировать передачу файлов по ICQ


3-29199
Бывающий
2004-01-20 15:43
2004.02.10
Помогите написать простенькую функцию на SQL


1-29325
SeriousSam
2004-01-29 20:27
2004.02.10
и еще глупый вопрос: где label?


14-29532
@lex
2004-01-22 16:09
2004.02.10
Хакамаду здесь недавно обсуждали


3-29253
Stas
2004-01-19 09:29
2004.02.10
Запрос




   Наверх