![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Прием почты - ошибка [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]Может быть, кто-то уже решал и решил такую проблему, если она у него была?