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

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

Прием почты - ошибка [D7, Win2k]


Fishka ©   (2005-12-02 11:49:00) 

При приеме почты пишу:
idPOP3.Retrieve(1, IdMessage);
Примерно 60% писем на этой строке вызывает ошибку:
Uneven size DecodeToStream.
Это происходит даже в том случае, если не спам.
Как читать такие письма? В чем проблема  у меня: в свойствах вышеназванных компонентов или ....?


IMAP   (2006-02-01 19:35:00) [1]

пробовал так
читать заголовок сообщения
idIMAP4.RetrieveHeader
анализировать поле
idMessage.ContentTransferEncoding  - если строка пустая,то
     сообщение не кодировано и считать все сообщение  idIMAP4.Retrieve
иначе (например idMessage.ContentTransferEncoding="base64")
то
установить idMessage.NoDecode=true
считать сообщение idIMAP.Retrieve и раскодировать тело сообщения соответствующим декодером например для base64 -
for i:=0 to idMessage.BodyCount-1 do
idMessage.Body.Strings[i]:= idDecoderMIME.DecodeString(idMessage.Body.Strings[i])
вроде получается !


IMAP   (2006-01-31 16:51:00) [2]

у меня то же самое с компонентом IdIMAP4


kron   (2006-01-25 13:31:00) [3]

Проблема была есть и будет, а решения может и есть но никто его не написал


Fishka   (2005-12-12 09:47:00) [4]

Может быть, кто-то уже решал и решил такую проблему, если она у него была?


Наверх

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