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

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

Indy IdMessage получить все заголовки письма [D7, WinXP]


sCANner ©   (2009-04-29 12:20:00) 

в IdMessage получаем заголовки Headers

Командой IdMessage1.Headers.Values['Received'] можно получить только первый заголовок, а как получить все заголовки Recieved, если вдаваться в подробности то необходимо из всех заголовков получить ip адреса для определения цепочки прохождения письма.

Только вот никак не получается, может кто подскажет как это сделать? Все заголовки письма перебирать не очень хочется.


sCANner   (2009-04-30 05:36:00) [1]

обновил компоненты Indy до 10 версии вроде пошло


sCANner   (2009-04-30 05:16:00) [2]

не хочет, та же самая ошибка :( уже создал пустое письмо из бата и сохранил и все равно то же самое


Сергей М.   (2009-04-29 17:01:00) [3]


> sCANner


Ты что-то путаешь ..

Пробуй код:


Msg := TIdMessage.Create(nil);
Msg.LoadFromFile('C:\1.eml');


Никаких исключений быть не должно, если содержимое файла соответствует требованиям RFC 822/2822


sCANner   (2009-04-29 14:06:00) [4]

заголовки из него читает нормально

IdMessage1.Headers.LoadFromFile()


Сергей М.   (2009-04-29 13:58:00) [5]

Похоже на то что файл C:\1.eml занят каким-то другим процессом


sCANner   (2009-04-29 13:35:00) [6]

Вопрос немного другого плана но по тому же компоненту:

begin
IdMessage1.LoadFromFile('C:\1.eml');

при попытке загрузки сообщения выдает ошибку "raised exception class EIdReadTimeOut with message 'Read timeout'"

что и где неправильно?

компонент IdMessage был просто перенесен с палитры инструментов на форму без каких либо изменений.


Сергей М.   (2009-04-29 12:45:00) [7]

Быть того не может)

Если Headers.Values['Received'] гарантированно возвращает 1-й заголовок, то Headers.Extract('Received', ..) просто обязанвернуть не менее одного заголовка..


sCANner   (2009-04-29 12:44:00) [8]

все спасиб разобрался, неправильно создавал список строк


sCANner   (2009-04-29 12:41:00) [9]

в SomeStringList пусто


Сергей М.   (2009-04-29 12:27:00) [10]

IdMessage1.Headers.Extract('Received', SomeStringList);


Наверх

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