Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi socketfehler 10054 bei Mailversand (https://www.delphipraxis.net/180538-socketfehler-10054-bei-mailversand.html)

multipro 27. Mai 2014 16:05

socketfehler 10054 bei Mailversand
 
Hallo,

was habe ich vor:
Ich habe mir ein Tool geschrieben, welches auf meinen Außendiensttouren quasi als Zeiterfassung dient. Das Tool speichert Beginn, Ende und einige zusätzliche Daten eines Kundenbesuches, baut daraus eine VCS-Datei und schickt diese per Mail an meine Firmenadresse, wo der Termin in mein Outlook kommt. Das funktionierte bisher einwandfrei. Die Umstellung einiger Provider auf "nur noch SSL" nötigte mich zum "Einbau" von Open-SSL.

Jetzt das Problem:
Auf dem Entwicklungsrechner läuft alles super. (Auch außerhalb von Delphi)
Benutze ich unterwegs mein Tablet, bekomme ich beim Mailversand die Meldung Socketfehler 10054, Die Verbindung wurde vom Peer beendet.

Was benutze ich:
Notebook mit Windows 8.1 prof. 64bit und Delphi XE3
Tablet mit Windows 8.1 prof. 64bit
Die beiden DLL's für OpenSSL sind auf beiden Rechnern identisch vorhanden (im Programmverzeichnis, wo auch meine EXE liegt)
Auch die Pfade und Speicherorte sind identisch und beide Rechner sind aktuell geupdated.
Der gravierende Unterschied besteht im Vorhandensein von XE3 auf dem einen Rechner.
Bald vergessen: für den Mailversand benutze ich ausschließlich die INDY-Komponenten.

Nun die Frage:
Installiert und registriert XE3 irgendwelches "Gerümpel" auf dem Rechner, welches dann auch die fertigen Programme nutzen und mir eventuell dann auf dem Tablet fehlt?


Schon mal Danke
Multipro

mkinzler 27. Mai 2014 16:08

AW: socketfehler 10054 bei Mailversand
 
Wie gehen die Tablets ins Internet?

multipro 27. Mai 2014 16:13

AW: socketfehler 10054 bei Mailversand
 
Hallo,

die Tablets gehen per WLAN ins Internet. (GSM ist gar nicht drin und dran.) Die VCS-Dateien werden gesammelt und "bei Gelegenheit" verschickt.
Das Verhalten ist auch so, wenn ich Notebook und Tablet in einem WLAN habe, z.Bsp. abends zu Hause.

Mit freundlichen Grüßen
Multipro

Union 27. Mai 2014 16:14

AW: socketfehler 10054 bei Mailversand
 
Ist das ein 64-bit-Programm? Dann müsstest Du auch die entsprechenden Dll's verwenden.

multipro 27. Mai 2014 16:19

AW: socketfehler 10054 bei Mailversand
 
Hallo,

nein, es ist 32bit und funktioniert auf dem einen Rechner. Die DLL's habe ich inclusive meines Programmverzeichnisses usw. auf das Tablet kopiert -> und geht nicht.


Mit freundlichen Grüßen
Multipro

Union 27. Mai 2014 16:24

AW: socketfehler 10054 bei Mailversand
 
Wie schickst Du denn? Per SMTP? Ist auf dem Dev-Notebook evtl. Outlook aktiv? Manche SMTP-Server machen eine Authentfizierung über das Bestehen einer POP3-Verbindung, da nur dort standardmäßig eine Passwortabfrage erfolgt. Du müsstest dann vor dem Versand eine kurze POP3-Verbindung zum Server aufbauen, damit der sich das merkt.

mjustin 27. Mai 2014 16:27

AW: socketfehler 10054 bei Mailversand
 
Zitat:

Zitat von multipro (Beitrag 1260458)
Benutze ich unterwegs mein Tablet, bekomme ich beim Mailversand die Meldung Socketfehler 10054, Die Verbindung wurde vom Peer beendet.

Kann der auf dem Tablet installierte Standardmailclient die SSL-Verbindung mit gleichen Einstellungen herstellen und Mails senden? (Gegencheck)

multipro 27. Mai 2014 16:34

AW: socketfehler 10054 bei Mailversand
 
Hallo,

ja, die Mail wird per SMTP und Authentifizierung geschickt (also nicht POP vor SMTP). Sender und Empfänger sind beide 1und1-Konten (Natürlich zwei verschiedene)
Auf dem Developernotebook ist Outlook 2013 drauf und auf dem Tablet nichts von Office. Allerdings hat die ganze Sache ohne SSL auf beiden Rechnern
funktioniert. Erst seit SSL geht es auf dem Tablet nicht mehr.
Der Standardmailclient funktioniert hin wie her. (Notebook OL2013, Tablet Thunderbird, EssntialPIM probehalber gestestet)

Mit freundlichen Grüßen
Mltipro

Perlsau 27. Mai 2014 16:39

AW: socketfehler 10054 bei Mailversand
 
Vielleicht hast du auch SSl nicht richtig installiert/konfiguriert.

multipro 28. Mai 2014 07:34

AW: socketfehler 10054 bei Mailversand
 
Hallo,

ich habe SSL gar nicht installiert, sondern nur die beiden dll's in das Programmverzeicnis kopiert.
Sollte da noch was anderes getan werden?

Mit freundlichen Grüßen
Multipro

Perlsau 28. Mai 2014 07:48

AW: socketfehler 10054 bei Mailversand
 
Ah, sorry, hatte überlesen, daß sich deine SSL-DLLs bereits im Programmverzeichnis befinden. Über den geposteten Link kommst du zu weiteren Threads über SLL mit den Indy-Komponenten.

Du könntest dennoch einmal versuchen, die SSL-DLLs nach C:\Windows\System32 zu kopieren, wo sich die allermeisten anderen DLLs tummeln. Daß es erst seit der SSL-Einbindung auf dem Tablet nicht funktioniert, besagt ja eindeutig, daß es damit zusammenhängt.

Übrigens: Was sind VCS-Dateien? Meinst du vielleicht CSV-Dateien?

Ich muß demnächst auch eine Anwendung auf SSL umstellen, da bin ich schon jetzt gespannt, ob das problemlos über die Bühne geht :roll:

mkinzler 28. Mai 2014 07:56

AW: socketfehler 10054 bei Mailversand
 
Zitat:

Übrigens: Was sind VCS-Dateien?
Nein eine vCalendar Datei
http://de.wikipedia.org/wiki/VCalendar

multipro 28. Mai 2014 08:00

AW: socketfehler 10054 bei Mailversand
 
Hallo,

ich versuche das mal mit dem System32-Verzeichnis. Allerdings habe ich das Tablet gerade nicht da.

Zu den vcs-Dateien:

Das sind Kalenderdateien für Microsoft-Outlook. Ich kann also die per Mail erhaltenen Dateien einfach öffnen und in meinem Outlook speichern. Damit kann ich jederzeit
nachvollziehen, wann ich bei welchem Kunden war.
Das Format ist zwar schon älter (wurde von iCalendar -> ICS abgelöst), funktioniert aber zumindest mit Outlook gut.

siehe auch hier: http://de.wikipedia.org/wiki/VCalendar

Mit freundlichen Grüßen
Multipro

multipro 28. Mai 2014 14:37

AW: socketfehler 10054 bei Mailversand
 
Hallo,

es funktioniert.
Was habe ich getan:

-> Download des OpenSSL-Paketes von hier: http://www.heise.de/download (einfach nach OpenSSL suchen und das passende Paket downloaden)
-> Das Paket habe ich installiert und die DLL's nach Windows\system32 kopieren lassen. (Frage kommt während der Installation)
-> Funktionstest negativ (Fehler 10054)
-> Die "alten" OpenSSL-DLL's aus meinen Programmverzeichnis gelöscht
-> Funktionstest positiv (Mail wurde verschickt und ist auch angekommen)
-> Also war etwas mit den DLL's. Bleibt die Frage, warum es auf dem Notebook mit den "alten" DLL's funktioniert.
-> Es war in diesem Sinne also kein Delphi-Problem. Mein XE3 hatte ich während der ganzen Problembehandlungsphase nicht einmal gestartet.

Vielleicht als Ergänzung:
Auf dem Notebook funktioniert es immer, also:
alte DLL's im Programmverzeichnis
alte DLL's im windows\system32
neue DLL's im Prgrammverzeichnis
neue DLL's im windwos\system32
Ich habe auch darauf geachtet, immer nur eine DLL-Version an einer Stelle auf der PLatte zu haben.


schon komisch...

Aber trotzdem Vielen Dank für die Hilfe

Mit freundlichen Grüßen
Multipro

Perlsau 28. Mai 2014 14:59

AW: socketfehler 10054 bei Mailversand
 
Na das ist ja mal eine erfreuliche Nachricht :-D

Bist du sicher, daß auf deinem Entwickler-Rechner keine neueren SSL-DLLs im Windows-Verzeichnis waren? Es gibt ja eine Such-Reihenfolge, die kann wohl auch bei jedem Rechner unterschiedlich sein. Zuerst wird da wohl im Programmverzeichnis gesucht, danach vermutlich je nach Reihenfolge der Path-Einträge ... Ich würde mal das Tablet und deinen PC gründlich nach diesen SSL-Dateien suchen lassen, vielleicht findest du auf diese Weise ja doch noch heraus, weshalb genau es auf dem PC ging und auf dem Tablet nicht.

Daß du dir das neueste SSL gezogen hast, ist lobenswert und wichtig, denn erst kürzlich wurde ja diese SSL-Lücke Heartbleed aufgedeckt. Und es gibt scheinbar noch weitere Probleme mit SSL.

multipro 2. Jun 2014 12:41

AW: socketfehler 10054 bei Mailversand
 
Hallo,

ich habe noch einmal nach den SSL-Dateien gesucht, ohne neues Ergebnis.
Ein Unterschied fällt mir aber noch ein:
Das Notebook wurde sofort mit Win8.1 installiert und das Tablet war original mit Win8.
Das habe ich erst über den Store auf 8.1 gebracht.
Die Theorie ist aber auch weit hergeholt. Ich nehme es halt so hin.

Mit freundlichen Grüßen
Multipro

Sir Rufo 2. Jun 2014 13:52

AW: socketfehler 10054 bei Mailversand
 
Ich wette mal es lag an
Zitat:

benötigt Microsoft Visual C++ 2008 Redistributables
und auf einem 64bit System gehören 32bit DLLs nicht in "%systemroot%\system32" sondern in "%systemroot%\SysWOW64".


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