Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Indy 10 IMAP Exchange Problem beim Login (https://www.delphipraxis.net/191272-indy-10-imap-exchange-problem-beim-login.html)

stalkingwolf 28. Dez 2016 08:38

Indy 10 IMAP Exchange Problem beim Login
 
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.

Aviator 28. Dez 2016 11:45

AW: Indy 10 IMAP Exchange Problem beim Login
 
Liste der Anhänge anzeigen (Anzahl: 3)
Zitat:

Zitat von stalkingwolf (Beitrag 1357315)
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.

Zu deinem SourceCode kann ich dir nichts sagen warum der nicht funktioniert. Zum Exchange Server (allerdings Version 2016 und soweit ich weiß auch 2013 da die identisch sind) kann ich aber sagen, dass die Funktionen IMAP und POP3 zur Verfügung stehen.

Sind bei dem Kunden die Einstellungen auch richtig gesetzt? Welche Version von Exchange benutzt er. IMAP und POP3 müssen im Benutzerpostfach aktiviert werden. Ist zwar eigentlich Standard, aber möglicherweise hat der Admin das ja bewusst deaktiviert.

Ich habe dir mal ein paar Bilder von unserem Exchange Server angehängt (Version 2016). Die Einstellungen zum POP3 und IMAP findest du bei den Servereinstellungen.

Hoffe das hilft dir in der Richtung weiter.

EDIT: Wir greifen bei uns nur über Exchange ActiveSync darauf zu. Ist auch wesentlich komfortabler und kann mehr als IMAP und POP. Weiß nur nicht, ob Indy da auch was zur Verfügung stellt. Wir benutzen das nur übers Smartphone zum Abrufen der Mails und Kontakte. Die Android bzw. iOS App kann das ja von Haus aus.

stalkingwolf 30. Dez 2016 11:07

AW: Indy 10 IMAP Exchange Problem beim Login
 
Danke für die Antwort.
Ich habe unserem Kunden auf die Füsse getreten und dann ging auch auf einmal POP3 ;-)

Problem scheint das STARTTLS im IMAP Protokoll zu sein. Eigentlich wird das eher bei SMTP genutzt.
Bei nicht EXCHANGE Servern geht es auch ohne Probleme.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:27 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz