Witam!
Chciałbym w Delphi wylistować tematy z mojej poczty e-mail, jednak napotkałem problem z translacją tematu z nagłówka wiadomośći e-mail:
przykład:
"Re: =?UTF-8?q?Podzi=C4=99kowanie_za_transakcj=C4=99?="
Używam oczywiście komponentów Indy, natomiast Delphi jest w wersji 7.
Z tego co czytałem trzeba by było zdekodować z "Base 64" a potem zdekodować UTF-8, ale to tylko w teorii bo w praktyce takie dekodowanie nic mi nie daje (głupoty totalne).
Ustawianie "charsetu" dla komponentu TIdMessage też nic nie daje.
Mam przy okazji jeszcze jedno pytanie które mnie dręczy - mam w skrzynce email ponad 40 tysięcy wiadomości (poczta na onecie) - zastanawia mnie w jaki sposób działa klient e-mail - że pomio tylu wiadomości - pobiera on tylko te nowe. Czym się sugeruje klient pocztowy? Bo na pewno nie synchronizuje wiadomości które mam w kliencie pocztowym i wiadomości które są na serwerze. Pobieranie poczty zajmuje dosłownie sekundę. Jak to robi klient e-mail? i czy przy pomocy Indy też mogę tak zrobić?
Kawałek kodu:
IdPOP31.Connect();
MsgCount := IdPOP31.CheckMessages;
for i:= Pred(MsgCount) downto (Pred(MsgCount)-10) do
begin
try
FMailMessage := TIdMessage.Create(nil);
FMailMessage.CharSet := 'UTF-8';
FmailMessage.ContentTransferEncoding := 'quoted-printable' ;
zaczołem kombinować z pobieraniem najnowszych wiadomośći e-mail, ale to nie jest dobra metoda...
dodam że klienty poczty email nie synchronizują tego co jest na komputerze i tego co na serwerze, - bowiem zsynchronizowanie 40 tysięcy wiadomości nie zajeło by 1 sekundy...