Einzelnen Beitrag anzeigen

stalkingwolf

Registriert seit: 6. Mai 2011
518 Beiträge
 
#1

Indy 10 IMAP Exchange Problem beim Login

  Alt 28. Dez 2016, 08:38
Guten Morgen,

ich versuche gerade mit IMAP auf ein Exchange Konto zuzugreifen.
Allerdings erhalte ich dabei den Fehler "Command received in Invalid state."

Nutze ich STARTTLS erhalte ich die Meldung "Verbindung erfolgreich geschlossen". Da es lange dauert, tippe ich auf ein Timeout

Mein Code sieht folgendermassen aus.

Code:
procedure TFmain.connectIMAP;
var ext,newFileName:string;
    MsgAnz,i,j:integer;
    ToDelete : integer;
    Confirmed : array of integer;

    idmessage  : TIdMessage;
    Attachment : TIdAttachment;
begin
    log.Lines.Clear;

    idIMAP.Host     := edFTPHost.text;
    idIMAP.Port     := strtoint(edFTPPort.text);
    idIMAP.Username := edFTPUsername.text;
    idIMAP.Password := edFTPKennwort.text;

    if edFTPPort.text = '993' then begin
        IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method := sslvSSLv3;
        idIMAP.IOHandler := IdSSLIOHandlerSocketOpenSSL1;
        idIMAP.AuthType := iatUserPass;
        idIMAP.UseTLS   := utUseImplicitTLS;
    end else begin
        if cbusetlsIMAP.checked then begin

            IdSSLIOHandlerSocketOpenSSL1.MaxLineAction         := maException;
            IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Method     := sslvTLSv1;
            IdSSLIOHandlerSocketOpenSSL1.SSLOptions.Mode       := sslmUnassigned;
            IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyMode := [];
            IdSSLIOHandlerSocketOpenSSL1.SSLOptions.VerifyDepth := 0;
            idIMAP.IOHandler := IdSSLIOHandlerSocketOpenSSL1;

            idIMAP.UseTLS   := utUseExplicitTLS;

        end else begin
            idIMAP.UseTLS   := utNoTLSSupport;
            idIMAP.IOHandler := nil;
        end;
    end;

    log.lines.add(format('IMAP Verbinde mit Email Account %s@%s',[edFTPUsername.text,edFTPHost.text]));
    try
        idIMAP.Connect;
    except
        on e:exception do begin
            log.Lines.Add(format('Es ist ein Fehler aufgetreten : "%s"',[e.message]));
            log.lines.add('=====================================');
            exit;
        end;
    end;
.
.
.
.
Ich greife über den Port 143 auf den IMAP Server zu. Bei unserem internen funktioniert dies auch einwandfrei.
Ein Kunde hat aber einen Exchange Server und dort erscheint die oben genannte Meldung.
Laut unserem Kunden kann Exchange kein POP? D.h ich muss per IMAP zugreifen.

Geändert von stalkingwolf (28. Dez 2016 um 09:34 Uhr)
  Mit Zitat antworten Zitat