Главная страница
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.022 c
14-29550
SPeller
2004-01-20 18:48
2004.02.10
Баг в Дельфи или что-то другое?


14-29538
VAleksey
2004-01-21 11:54
2004.02.10
TWebBrowser и отправление запроса.


1-29324
SeLarin
2004-01-29 15:01
2004.02.10
TLabel.Color


14-29522
Mike Kouzmine
2004-01-19 09:31
2004.02.10
С Рождеством


14-29525
DiamondShark
2004-01-21 21:42
2004.02.10
Это круче пингвинов.