Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   ICSMailSend (https://www.delphipraxis.net/214869-icsmailsend.html)

philipp.hofmann 25. Mär 2024 21:58

ICSMailSend
 
Hi,

ich wollte von meiner bisherigen Indy-E-Mail-Send-Implementierung zumindest für Windows und MacOS auf ICS umsteigen, um dem in der Delphi-Indy-Version fehlenden OpenSSL-Support (1.0.x wird nicht mehr weitergeführt) zu umgehen.
Aber irgendwie bekomme ich das Beispiel IcsMailSnd schon nicht zum Laufen. Mein Strato-Mail-Server lässt keine Authentifizierung zu. Ich habe das Gefühl es hängt an den zur Verfügung stehenden AuthTypes (None, Plain, Login, CramMD5, CramSHA1, NTLM, AutoSelect). Davon passt scheinbar keiner. Kann so etwas sein?

Grüße, Philipp

himitsu 25. Mär 2024 23:09

AW: ICSMailSend
 
Bei Strato mußte ich damals immer vor SMTP einmal via POP3 oder IMAP verbunden gewesen sein, sonst ging es nicht.

Michael II 26. Mär 2024 01:01

AW: ICSMailSend
 
Falls du bei Strato einen VServer oder Server gemietet hast, kannst du die AUTH Methode doch wahrscheinlich im von dir verwendeten Mailserver ablesen bzw. auswählen?
Oder als Client testen:
1. Mit Telnet.
2. Mit Toolbox, dort die Adresse von deinem Mailserver eingeben und Extension AUTH auslesen? https://mxtoolbox.com/diagnostic.aspx
3. Falls das Senden via Outlook funktioniert, mit geeignetem Tool den Netzwerkverkehr überwachen und den Mailverkehr filtern?

Kannst du bestätigen, dass dein ICS Programm mit irgendeinem Mailserver funktioniert?
(Ich nutze ICS fürs Versenden von SSL eMails (allerdings hosteurope.de/kreativmedia.ch/bluewin.ch und nicht strato) und es funktioniert. Das nützt dir zwar nix, aber du weisst wenigstens, dass ICS OK ist.)

Rollo62 26. Mär 2024 08:15

AW: ICSMailSend
 
Zitat:

Zitat von himitsu (Beitrag 1534997)
Bei Strato mußte ich damals immer vor SMTP einmal via POP3 oder IMAP verbunden gewesen sein, sonst ging es nicht.

Wenn das der Fall wäre, warum ging es dann unten bei der Indy-Lösung? Macht Indy irgendetwas anders oder intelligenter?
Oder könnte es genau mit dem Umstieg von OSSL auf eine höhere Version zu tun haben?

philipp.hofmann 27. Mär 2024 13:58

AW: ICSMailSend
 
Ich habe es mal mit einer SMTP-Test-App ausprobiert. SMTP funktioniert auch dort.

Was mir jetzt aber unklar ist, ist woher sich IcsMailSnd.exe die Open-SSL-Dlls trotz
GSSL_DLL_DIR := ExtractFilePath(ParamStr(0));nimmt.
Wenn ich diese aus dem Release-Verzeichnis rausnehme, bekomme ich trotzdem keine Fehlermeldung.

Aber irgendwie eh nicht mein Tag, nach einem Update von TMSFNCCore kann ich mein Projekt nicht mehr öffnen.

Michael II 27. Mär 2024 14:57

AW: ICSMailSend
 
Dann kennst du mittlerweile wie AUTH bei Strato abläuft?
Wenn Nein, siehe Tipp oben: Mit mxToolbox (Tipp2) musst du nix tun ausser "Adresse eMailServer" eingeben, Button klicken, im Output nach AUTH suchen.
Ich empfehle dir die ICS Overbyte "All-In-One" Demo. Du hast auf deiner Form SSLSmtpClient UND SSLContext1? Du hast die Eigenschaft SSLSmtpClient.SSLContext auf SSLContext1 gesetzt? (nicht vergessen: SslSmtpClient.AuthType setzen)
Fehler finden: Über die Eigenschaft SSLSmtpClient.SocketErrs steuerst du welche Fehlertypen ausgegeben werden sollen.
Wenn du in der IDE bei SslSmtpClientRequestDone einen Breakpoint setzen würdest, könntest du sehen was abläuft und v.a. bis wie weit alles OK ist.
(Wenn die SSL DLLs im .exe Verzeichnis liegen, musst du das Verzeichnis natürlich nicht angeben.)

omnibrain 27. Mär 2024 15:10

AW: ICSMailSend
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1535038)
Was mir jetzt aber unklar ist, ist woher sich IcsMailSnd.exe die Open-SSL-Dlls trotz
GSSL_DLL_DIR := ExtractFilePath(ParamStr(0));nimmt.
Wenn ich diese aus dem Release-Verzeichnis rausnehme, bekomme ich trotzdem keine Fehlermeldung.

Nutzt du die aktuellste Fassung ICS 9.1?
https://en.delphipraxis.net/topic/11...91-highlights/
Da gibt es für die DLLs jetzt mehrere Möglichkeiten.

philipp.hofmann 27. Mär 2024 17:07

AW: ICSMailSend
 
Die Antwort ist so einfach: Das FMX-Beispiel enthält keine SSL/TLS. Dies ist im VCL-Beispiel enthalten. Nachdem ich dann die VCL-Komponenten auch installiert habe, ging es damit dann. Ich war tatsächlich so naiv, dass in einen Mail-Send-Beispiel heute immer TLS mit dabei ist und da auch START_TLS in der Logausgabe zu sehen war, bin ich nicht stutzig geworden. Damit kann die Integration dann los gehen.

Danke für die Tipps.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 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