Как сохранить вложение из idPop3
От: Alexey_M123  
Дата: 07.02.05 13:01
Оценка:
Доброго времени суток.
Помогите решить проблему.
Есть Delphi7, Indy9.
Нужно обработать текстовый файл, пересылаемый по почте.
Использую для сохранения вложения следующий код:
TidAttachment(IdMessage1.MessageParts.Items[j]).SaveToFile(fn);
Но вместо текстового файла получается такая абракадабра:

begin 600 1518.ini
M3F%M93U624%*15,@05)455)/"@U/<&5R871O<CU+4D%304E2"@TS(&QE='1E
`
end
Re: Как сохранить вложение из idPop3
От: DarkMaster Украина http://www.bdslib.at.ua
Дата: 07.02.05 13:33
Оценка:
Здравствуйте, Alexey_M123, Вы писали:

A_M>Нужно обработать текстовый файл, пересылаемый по почте.

A_M>Использую для сохранения вложения следующий код:
A_M>TidAttachment(IdMessage1.MessageParts.Items[j]).SaveToFile(fn);

Попробуй:

TIdText(IdMessage1.MessageParts.Items[j]).Body.SaveToFile(Fn);
WBR, Dmitry Beloshistov AKA [-=BDS=-]
Re[2]: Как сохранить вложение из idPop3
От: Alexey_M123  
Дата: 07.02.05 14:56
Оценка:
Здравствуйте, DarkMaster, Вы писали:

DM>Попробуй:


DM>
DM>TIdText(IdMessage1.MessageParts.Items[j]).Body.SaveToFile(Fn);
DM>


Спасибо — но этот код не пойдет так как
if IdMessage1.MessageParts.Items[j] is TidAttachment then
<мой процесс>
Re[3]: Как сохранить вложение из idPop3
От: Shtirliz Россия  
Дата: 08.02.05 07:54
Оценка:
Здравствуйте, Alexey_M123, Вы писали:

A_M>Здравствуйте, DarkMaster, Вы писали:


DM>>Попробуй:


DM>>
DM>>TIdText(IdMessage1.MessageParts.Items[j]).Body.SaveToFile(Fn);
DM>>


A_M>Спасибо — но этот код не пойдет так как

A_M>if IdMessage1.MessageParts.Items[j] is TidAttachment then
A_M><мой процесс>

Попробуй
Для инди 10 (для инди 7 будее mcptAttachment)
if IdMessage1.MessageParts.Items[j].PartType = mptAttachment then
   <твой процесс>
Else
  //значит будет текст
... -= RSDN@Home 1.1.4 beta 4 rev 303 =- А в Winamp'e: А в Winamp'е: И ничего не слышно...
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
Re[4]: Как сохранить вложение из idPop3
От: Alexey_M123  
Дата: 08.02.05 14:11
Оценка:
Здравствуйте, Shtirliz, Вы писали:

S>Попробуй

S>
S>Для инди 10 (для инди 7 будее mcptAttachment)
S>if IdMessage1.MessageParts.Items[j].PartType = mptAttachment then
S>   <твой процесс>
S>Else
S>  //значит будет текст     
S>


Спасибо теперь код работает под Indy 10.
Но проблема все равно осталась.
TidAttachment(IdMessage1.MessageParts.Items[j]).SaveToFile(fn);
сохраняет текст. файл, но внутри чтото вроде:
begin 600 1520.ini
M3F%M93U.159!(%1R879E;"!#;VUP86YY"@U/<&5R871O<CU35$,@4E534TE!
Если же сохранить вложение из Outlook — то все в порядке.
Подскажите какой-нибудь другой метод кроме SaveToFile
Re[5]: Как сохранить вложение из idPop3
От: Shtirliz Россия  
Дата: 09.02.05 06:14
Оценка:
Здравствуйте, Alexey_M123, Вы писали:

A_M>Здравствуйте, Shtirliz, Вы писали:


S>>Попробуй

S>>
S>>Для инди 10 (для инди 7 будее mcptAttachment)
S>>if IdMessage1.MessageParts.Items[j].PartType = mptAttachment then
S>>   <твой процесс>
S>>Else
S>>  //значит будет текст     
S>>


A_M>Спасибо теперь код работает под Indy 10.

A_M>Но проблема все равно осталась.
A_M>TidAttachment(IdMessage1.MessageParts.Items[j]).SaveToFile(fn);
A_M>сохраняет текст. файл, но внутри чтото вроде:
A_M>begin 600 1520.ini
A_M>M3F%M93U.159!(%1R879E;"!#;VUP86YY"@U/<&5R871O<CU35$,@4E534TE!
A_M>Если же сохранить вложение из Outlook — то все в порядке.
A_M>Подскажите какой-нибудь другой метод кроме SaveToFile

Во первых для файлов есть класс: TidAttachmentFile
так что делай так

TidAttachmentFile(IdMessage1.MessageParts.Items[j]).SaveToFile(Stream);
... -= RSDN@Home 1.1.4 beta 4 rev 303 =- А в Winamp'e: А в Winamp'е: И ничего не слышно...
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
Re[6]: Как сохранить вложение из idPop3
От: Alexey_M123  
Дата: 09.02.05 11:42
Оценка:
Здравствуйте, Shtirliz, Вы писали:


S>Во первых для файлов есть класс: TidAttachmentFile

S>так что делай так

S>
S>TidAttachmentFile(IdMessage1.MessageParts.Items[j]).SaveToFile(Stream);

S>


Спасибо за совет. Проблема решена — надо было попутно использовать IdDecoderUUE.DecodeString
Re[7]: Как сохранить вложение из idPop3
От: Shtirliz Россия  
Дата: 09.02.05 14:47
Оценка:
Здравствуйте, Alexey_M123, Вы писали:

A_M>Здравствуйте, Shtirliz, Вы писали:



S>>Во первых для файлов есть класс: TidAttachmentFile

S>>так что делай так

S>>
S>>TidAttachmentFile(IdMessage1.MessageParts.Items[j]).SaveToFile(Stream);

S>>


A_M>Спасибо за совет. Проблема решена — надо было попутно использовать IdDecoderUUE.DecodeString


Я для файлов этого не использовал.
Просто иначе мы получаем атачмент с заголовками...
... -= RSDN@Home 1.1.4 beta 4 rev 303 =- А в Winamp'e: А в Winamp'е: И ничего не слышно...
Дункан Маклауд любил ходить в лес и издеваться над кукушками.
138385660
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.