-
Подключаюсь к серверу pop3.mal.ru получаю IdPOP31.RetrieveHeader(n, IdMessage1) некоторые письма читабельны, но вот некоторые: ?koi8-r?Q?=E1=CE=CE=C1_=E9=D7=C1=CE=CF=D7=C1?= ?UTF-8?B?0JfQvdCw0LrQvtC80YHRgtCy0LAg0L3QsCBZb3VyTG92ZS5ydQ==?= как я понимаю, Id компонент не может работать с этими кодировками? Что можно сделать? Неужели перекодировку в win1251 реализовывать вручную?
-
привожу код: var n:integer; max_msg:integer; begin IdMessage1.CharSet:='windows-1251'; IdMessage1.ContentDisposition:='creation-date'; IdMessage1.ContentTransferEncoding:='Base64'; IdMessage1.ContentType:='text/plain'; IdMessage1.Encoding:=meMIME; IdPOP31.Host:='pop3.mail.ru'; IdPOP31.Port:=110; IdPOP31.Username:=''; IdPOP31.Password:=''; try IdPOP31.Connect; except memo1.Lines.Add('Error connection!'); end;
if IdPOP31.Connected then begin max_msg:=IdPOP31.CheckMessages; memo1.Lines.Add('Всего сообщений: '+inttostr(max_msg)); for n:=max_msg-2 to max_msg do if IdPOP31.Connected then begin IdMessage1.Clear; IdPOP31.RetrieveHeader(n, IdMessage1); memo1.Lines.Add('['+inttostr(n)+'] From: '+IdMessage1.From.Text); memo1.Lines.Add('Recipients: '+IdMessage1.Recipients.EmailAddresses); memo1.Lines.Add('CCList: '+IdMessage1.CCList.EMailAddresses); memo1.Lines.Add('Subject: '+IdMessage1.Subject); memo1.Lines.Add('Date: '+FormatDateTime('dd mmm yyyy hh:mm:ss', IdMessage1.Date)); memo1.Lines.Add('ReceiptRecipient: '+IdMessage1.ReceiptRecipient.Text); memo1.Lines.Add('Organization: '+IdMessage1.Organization); end;
IdPOP31.Disconnect; end; Не ужели никто с этим не сталкивался??? Ну подскажите хоть куда копать! Только не ручную перекодировку)))
|