Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   SMTP-Problem, Indy und TLS 1.3 oder ICS (https://www.delphipraxis.net/208544-smtp-problem-indy-und-tls-1-3-oder-ics.html)

Delphi.Narium 13. Aug 2021 10:40

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
Ggfls. musst Du all "alten" .DCU von Indy, wo immer auch bei Deinen Projekten der Ausgabepfad dafür sein mag, löschen.

Kompilieren alleine reicht nicht zwingend, eventuell mal "alles neu erstellen".

Das Package mit der 160 im Namen gehört wohl zu Delphi 8.

Dann mal in der IDE nachschauen, welche Packages da so alles installiert sind und auch hier für Ordnung sorgen. Ggfls. dort mal alle momentan installierten Packages von Indy entfernen und dann nur die für Dein Delphi relevanten installieren.

Da solltest Du mal gründlich aufräumen und sicherstellen, dass Du nur die zu Deiner Delphiversion gehörenden Packages nutzt. Mal aus dem Verzeichnis mit den kompilieren Packages (*.bpl) alles entfernen, was zu alten Indyversionen gehört. Vorher die IDE zumachen. Beim Neustart der IDE wird sie Dich dann darüber informieren, was da so schiefgeht, z. B. Dich informieren, dass "alte" Indypackages nicht mehr geladen werden können ... (was ja durchaus erwünscht ist).

Du kannst dazu auch im "neuen Indyverzeichnis" mal alles "wegwerfen", was nicht zu Deiner Delphiversion gehört, das dürften vermutlich alle Dateien unter \Lib\Core\ sein, die am Ende eine Zahl im Namen haben, die aber nicht 230 ist. So ungefähr alles von dclIndyCore100.* bis dclIndyCore220.* und alles ab dclIndyCore240.* bis dclindycorelaz.*, analog dann auch noch für IndyCore*.*, unter \Lib\Protocols\ sieht es ähnlich aus, ebenso unter \Lib\System\.

Für Dein Delphi dürftest Du wohl alles benötigen, was in Indy230.groupproj aufgeführt ist. Die Projektgruppe zu verwenden, wäre eventuell auch keine schlechte Idee. Damit sollte eigentlich alles für Dein Delphi korrekt kompiliert und installiert werden können.

Mal in allen Pfaden nach dem Package IndySystem160 suchen.

HappyJoe 13. Aug 2021 17:42

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
Liste der Anhänge anzeigen (Anzahl: 1)
Jetzt habe ich deine Ratschläge befolgt und alles ist installiert und ich kann mein Prog sogar compilieren. Dein ausführlicher Post war echt super, danke.
Leider geht der Verbindungsaufbau zu strato trotzdem nicht. Je nachdem, welche Version ich einstelle, kommen unterschiedliche Fehlermeldung (s. Grafik). Vermutlich fehlen nur noch ein paar Einstellungen. Würdest du mal einen kurzen Blick auf meine Routine werfen? Vielleicht springt dir der Fehler ja sofort ins Auge. Brauche ich eine spezielle Version von libeay32.dll oder ssleay32.dll?

Delphi-Quellcode:
procedure TMainForm.Btn_TESTMAILClick(Sender: TObject);
var
  idAttachment : TIdAttachmentFile;
  Mail : TIdMessage;
  SMTP : TIdSMTP;
  SSL : TIdSSLIOHandlerSocketOpenSSL;
  MBHTML: TIdMessageBuilderHTML;
  MailText : string;

begin
  SMTP := TIdSMTP.Create;
  SSL := TIdSSLIOHandlerSocketOpenSSL.Create(SMTP);
  SSL.SSLOptions.SSLVersions := [sslvTLSv1_2];           //XXX

  Mail := TIdMessage.Create;

  try
    MBHTML := TIdMessageBuilderHTML.Create;
    try
      with MBHTML do
      begin
        HTML.Text := 'Die ist eine Testmail.';
        HtmlCharSet := 'utf-8';
        FillMessage(Mail);
      end;
    finally
      MBHTML.Free;
    end;

    with Mail do
    begin
      From.Address := ... ;
      From.Name   := ... ;
      Recipients.EMailAddresses := ... ;
      Subject := 'Test-Mail';
    end;

    with SMTP do
    begin
      Host     := 'smtp.strato.de';
      Username := ... ;
      Password := ... ;
      Port     := 465;
      AuthType := satDefault;
      IOHandler := SSL;
      UseTLS   := utUseImplicitTLS;

      try
        Connect;
        Send(Mail);
      finally
        Disconnect;
      end;
    end;
  finally
    Mail.Free;
    SMTP.Free;
  end;
end;

Union 13. Aug 2021 18:16

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
Welche Versionen der OpenSSL dll verwendest Du?

HappyJoe 13. Aug 2021 18:23

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
Version 0.9.8.14

Union 13. Aug 2021 18:31

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
DIe Version sollte > 1 sein. Ich setze hier u.a. 1.0.2.12 ein. Zum Herumspielen unter Erhaltung der Interoperabilität empfiehlt es sich, die dlls jeweils gezielt von Indy laden zu lassen.
Delphi-Quellcode:
IdSSLOpenSSLHeaders.IdOpenSSLSetLibPath(<Pfad der ssl dll>);

HappyJoe 13. Aug 2021 18:41

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
DANKE DANKE an alle, die mir hier geholfen haben.

ES FUNKTIONIERT ALLES !!!

Union 13. Aug 2021 18:51

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
Hört sich schon mal gut an. Um für die Zukunft gerüstet zu sein, solltest du einmal die TIdSMTP.SASLMechanisms Collection anschauen und ggf. alle reinaddieren. Dann wird die AUTH response Indy dazu bewegen, das korrekte Verfahren zu verwenden.

HappyJoe 13. Aug 2021 20:53

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
Das sagt mir jetzt alles noch nichts, aber da werde ich hier im Forum mal etwas stöbern. Meinst du, das wäre besser als die ICS-Routinen?

Union 14. Aug 2021 23:09

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
ICS habe ich bisher nicht eingesetzt. Ich verwende möglichst das Winhttp und wenn dort etwas nicht verfügbar ist, die Indy.

freimatz 16. Aug 2021 10:10

AW: SMTP-Problem, Indy und TLS 1.3 oder ICS
 
Zitat:

Zitat von Union (Beitrag 1493573)
DIe Version sollte > 1 sein. Ich setze hier u.a. 1.0.2.12 ein. Zum Herumspielen unter Erhaltung der Interoperabilität empfiehlt es sich, die dlls jeweils gezielt von Indy laden zu lassen.
Delphi-Quellcode:
IdSSLOpenSSLHeaders.IdOpenSSLSetLibPath(<Pfad der ssl dll>);

Ist das nötig wenn die DLLs im Programmverzeichnis liegen?


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:18 Uhr.
Seite 2 von 3     12 3      

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