Страница 1 из 1

INDY - атачменты...

Добавлено: Пт янв 30, 2004 17:40
кондратий
не могу никак добратса до атачмента...
как это сделать.. кто-то работал с idMessage

Код: Выделить всё

   for intIndex := 1 to inMsgCount do
      begin
         Application.ProcessMessages;
         msg.Clear;
         POP.RetrieveHeader(intIndex, msg);
         if IsWordPresent('REPLICATION', msg.Subject,[' ']) then
         begin
           Msg.MessageParts.CountParts;
           for intParts := 0 to Msg.MessageParts.Count-1 do
             if (Msg.MessageParts.Items[intParts] is TIdAttachment)
             then
             begin
               ShowMessage(TIdAttachment(Msg.MessageParts.Items[intParts]).Filename);
             end
Msg.MessageParts.Count всегда 0 хоть если смотрим на само письмо атач виден.

Добавлено: Пт янв 30, 2004 17:54
Atyla
Ты типа мыло рассылаешь?
idMessage, я никогда не использовал...
Попробуй TNMSMTP, правда в 7-ой дельфе его нет... 8-/

Добавлено: Вт фев 03, 2004 13:22
CHILLI
Atyla,
неа, он его принимает и пытается разделить на содержимое и аттачмент.

кондратий,
надо копать глубже, может попытаться подойти к этому вопросу с другой стороны? Я не работал с этой компонентой от INDY, но думаю что просто надо детально почитать как она работает.... не может быть чтобы не работало....

Добавлено: Вт фев 03, 2004 13:48
Atyla
CHILLI,
Я так и понял, шо он хочет вытащить атачмент из мыла...
Я использовал для рассылки TNMSMTP и прикреплял к мылу текстовый файл в виде атачмента и вроде все фурычило...
Правда обратную ситуацию вытаскивания из мыла атачмент, я не пробовал.

[off]добавлено Вт Фев 03, 2004 15:03:[/off]

Мой выбор тоже вначале пал на Indy, но потом решил использовать этот компонент, так он был намного проще в обращении...
Но, повторюсь еще раз его в Дельфи 7 уже нет, хотя можно перетащить его в 7-ую из 6-ой если будет желание... 8-)

Добавлено: Вт фев 03, 2004 14:04
кондратий
глюк был во мне :-)
в начале я вытаскивал только хидеры...
а потом надо больше... и вот тут мненя глюкнуло...
не переписал одну строку...
POP.RetrieveHeader(intIndex, msg);
а надо было
POP.Retrieve(intIndex, msg);

:-)
вот так иногда меня глючит :-)