Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Сохранение вложений из письма [D7, WinXP]


E_L ©   (2004-10-10 16:47:00) 

Здравствуйте! Помогите, пожалуйста решить проблему.
Имеем файл с исходным текстом письма (скажем, .eml).
Надо распознать, есть ли в нем вложения, и если да - то сохранить их в виде файлов.

Посоветуйте, пожалуйста, надежные и универсальные (т.е. рапознающие по возможности максимальное число вариантов MIME-кодирования) VCL-компоненты или ActiveX/OCX для разбора письма на составляющие.

Может, что из встроенных в Delphi компонентов годится (Delphi 7), или может, например вот это:
Synapse TCP/IP Library v.34  FWS 514 Kb 1 Oct 2004
http://synapse.ararat.cz/
- то, что нужно?

Пробовал через MimeSniffer.dll (ActiveX-DLL) через VBScript/WSH
http://www.codeproject.com/internet/mimesniffer.asp
но с ним часто возникают ошибки. То ли у меня руки, то ли этот сниффер не всегда возвращает MessageBody как Collection.

В этом форуме нашел только ссылку на http://delphiworld.narod.ru/base/save_mail_attachment.html
но там непонятное (для меня) изложение. (Непонятно, с чего начинать, какие компоненты используются, можно ли это реализовать в Delphi 7, и сумел ли там сам автор решить проблемы нормального сохранения аттачей.)

Все это надо для написания скрипта или Delphi-программы для сохранения аттачей из писем в Opera Mail (M2). Там есть проблема: нельзя сохранить все аттачи за один раз. Вот хочу написать скрипт/прграммку, которая и будет это делать.

Предварительный вариант, того, что у меня получилось, здесь:
http://labun.com/opera_mail_save_attachments.zip
Краткое описание внутри архива, более полное - здесь:
http://forum.myopera.net/showflat.php?Cat=&Number=15671&page=0&view=collapsed&sb=5&fpart=1

Буду благодарен за любые идеи и подсказки.


Slym   (2004-10-11 08:47:00) [1]

TIdMessage:
LoadFromFile
for i:=0 to MessageParts-1 do
if MessageParts[i] is TIdAttachment then
TIdAttachment(MessageParts[i]).SaveToFile()


Наверх

Титульная страница Поиск, карта сайта Написать письмо