Der folgende Code ist hilft hier vor allem bei TLS und SSL geschützten Accounts. Es eine erste Version und soweit sind keine Fehler aufgefallen.
procedure TForm1.Button9Click(Sender: TObject);
var
i, j,MsgAnz: Integer;
IdSSLIOHandlerSocket: TIdSSLIOHandlerSocketOpenSSL;
bodytext: string;
begin
IdSSLIOHandlerSocket := TIdSSLIOHandlerSocketOpenSSL.Create(Self);
idpop31.IOHandler := IdSSLIOHandlerSocket;
idpop31.UseTLS := utUseImplicitTLS;
IdPOP31.Host := '';
IdPOP31.Port := xxx;
IdPOP31.UseTLS := utUseImplicitTLS;
IdPOP31.Username := '';
IdPOP31.Password := '';
IdPOP31.Connect;
if IdMessage1.ContentType='text/plain' then
memo1.text:=IdMessage1.Body.Text;
MsgAnz := IdPOP31.CheckMessages;
mailzeug.Lines.Add('Anzahl E-Mails:' + IntToStr(MsgAnz));
for i:= 1 to MsgAnz do
begin
idpop31.Retrieve(i, IdMessage1);
mailzeug.Lines.Add('E-Mail Nr:' + IntToStr(i)+ sLineBreak +
' Von:' + IdMessage1.From.Text + sLineBreak +
' Betreff:' + IdMessage1.Subject);
bodytext:=idmessage1.Body.Text;
mailzeug.Lines.Add(bodytext);
IdMessage1.Clear;
idpop31.Delete(i);
end;
IdPOP31.Disconnect;
FreeAndNil(IdSSLIOHandlerSocket);
end;