[delphi]indy,identyfikacja maila,web browser

0

witam
z kodowaniem już jakoś sobie radze,może nie tek jak być powinno ale działa.ale mam jeszcze inny pytania.jeśli odbieram maila od mojego programu lub outloka to body wyciągam z messageparts.jeśli maila dostanę od klienta opery to do memo nic się nie dodaje.dokonuje sprawdzenia czy memo jest puste,jeśli tak to ładuje body poprzez memo.addstrings(msg.body) i wtedy do memo wedruje treść maila.czy ktoś może zna się na tym zna i powie mi o co chodzi?i jak ewentualnie powinno się dokonywać identyfikacji rodzaju maila.oto kod którego uzywam

if POP.Retrieve(List2.Selected.Index + 1, Msg) then
Begin
Label19.Caption:=msg.ContentType;

if pos ('plain',Label19.Caption)<>0 then      // PLAIN TEXT
Begin

for intIndex := 0 to Pred(Msg.MessageParts.Count) do
       begin
         if Msg.MessageParts.Items[intIndex] is TIdText then
           begin
             Memo3.lines.AddStrings(TIdText(Msg.MessageParts.Items[intIndex]).Body);
             memo3.Text:=form_mail.SearchAndReplace(Memo3.Text,'?','ą');
             memo3.Text:=form_mail.SearchAndReplace(Memo3.Text,'ˇ','Ą');
             memo3.Text:=form_mail.SearchAndReplace(Memo3.Text,'?','Ś');
             memo3.Text:=form_mail.SearchAndReplace(Memo3.Text,'?','ś');
             memo3.Text:=form_mail.SearchAndReplace(Memo3.Text,'?','Ź');
             memo3.Text:=form_mail.SearchAndReplace(Memo3.Text,'Ľ','ź');
             memo3.Text:=form_mail.SearchAndReplace(Memo3.Text,#13,'<br>');

             webbrowser2.navigate('about:'+memo3.text);
           end;

        end;

        if Memo3.Lines.Count=0 then
        begin
        memo2.Lines.Addstrings(msg.Body);
            // KONWERSJA
        webbrowser2.navigate('about:'+memo2.text);
        End;
End

else
if pos ('multipart',msg.ContentType)<>0 then     // MULTIPART
Begin

      for intIndex := 0 to Pred(Msg.MessageParts.Count) do
       begin
             if Msg.MessageParts.Items[intIndex] is TIdText then
             begin
             inc(ile);
             if ile>1 then  // moija część ze zwykłym tekstem i przechodzi do html
             Begin
             Memo3.lines.AddStrings(TIdText(Msg.MessageParts.Items[intIndex]).Body);
           // KONWERSJA
             webbrowser2.navigate('about:'+memo3.text);
             break;
             End;

             end;
        end;

end;  // multipart

msg.Clear;

end; // pop retrieve

mam jeszcze inne pytanie. czy jest jakiś w miarę prosty sposób na sprawdzenie postępu pobierania i czy pobieranie poszczególnych wiadomości poprzez indy dobiegło końca?

0
Kichu napisał(a)

mam jeszcze inne pytanie. czy jest jakiś w miarę prosty sposób na sprawdzenie postępu pobierania i czy pobieranie poszczególnych wiadomości poprzez indy dobiegło końca?

Kazda wiadomosc ma jakis rozmiar, wiec rozmiar wiadomosci = 100%

1 użytkowników online, w tym zalogowanych: 0, gości: 1