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

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

Indy - Скопировать TidMessage в другой TidMessage без потерь


Dmitry ©   (2004-08-27 01:13:00) 

Нужно скопировать одно сообщение в другое. Контейнеры - это TIdMessage из библиотеки Indy (потому что используются другие компоненты Indy, которые и требуют именно IdMessage).

Но я заметил, что некоторые заголовки пропадают, например Charset.

Message2.Assign(Message1) не работает - ругается выдавая ошибку.

Пробовал через SaveToStream/LoadToStream - тоже почему-то не сработало.

Ну а тот метод, который я использую, как уже сказал, урезает заголовок. А мне нужно, чтобы заголовок был идентичным! :(

Вот как сейчас:

   IdMessage.From.Text := FromAddr;
   IdMessage.Sender.Text := SenderAddr;
   IdMessage.Recipients.EMailAddresses := ToAddr;
   IdMessage.Subject := Subject;
   IdMessage.Headers.Text := Head; //это не помогает, заголовок урезается
   IdMessage.Body.Text := Body;

Можно и charset вручную добавлять, но как быть с остальными полями, не предусмотренными в TIdMessage? То есть нужен весь заголовок тютелька-в-тютельку. А остаются только поля:

Date:
From:
X-Mailer:
X-Priority:
Message-ID:
To:
Subject:
MIME-Version: 1.0
X-Server: Indy SMTP Server
X-Library: Indy 9.00.10


alienserg   (2004-08-28 16:17:00) [1]

Спроси в ньюсгруппах непосредственно у разработчика.
news://news.atozedsoftware.com/atozedsoftware.indy.protocol.smtp
Типа Is there a way to copy the content from one TIdMessage to another at once without looping through its items?
Только опиши проблему подробней, какие поля не копируются и обязательно свой код, который работает не так, как надо.
Получишь ответ в течение 3 часов.
Ну и запости сюда ответ для расширения кругозора индиевых девелоперов :)


Dmitry   (2004-08-28 15:10:00) [2]

парчить=парсить. Неужели такую простую вещь, как копирование писем в Indy не предусмотрели? Просто не верится. Там много нестандартных имен свойств и вообще, то есть наверное есть где-то спрятанная возможность?


Dmitry   (2004-08-28 15:07:00) [3]

но мне нужно не перебирать заголовки по одному, не парчить заголовки, а просто сделать точную копию сообщения.


AlexSV   (2004-08-27 11:48:00) [4]

для остальных полей заголовка используй IdMessage.ExtraHeaders


Наверх

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