connection reset by peer

Alle Fragen zur Netzwerkkommunikation
Antworten
Benutzeravatar
juelin
Beiträge: 296
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

connection reset by peer

Beitrag von juelin »

Hallo Gemeinde,
ich bin ja neu bei Lazarus.
Habe Windows 10 und Lazarus 3.4 mit FPC 3.2.2
Um Latarus zu lernen habe ich mir die Bücher von Wilfried Koch Professioneles Programmieren Teil 1 + 2 gekauft.
Jetzt habe ich gerade das Programm Senden Mail mit SMTP (aus Teil2) gemacht.
der "IdSMTP1.Connect" funktioniert auch.
Mein Programm verbindet sich mit dem Mailserver (GMX).
Wenn ich aber den Befehl "IdSMTP1.Send(IdMessage1)" absetzte
bekomme ich die Fehlermeldunf "connection reset by peer".
Kann mir da jemand weiter helfen?
Danke und Gruß
Jürgen

Stevie
Beiträge: 173
Registriert: Di 27. Feb 2024, 22:40

Re: connection reset by peer

Beitrag von Stevie »

Hallo Jürgen,

diese Fehlermeldung wird geworfen, wenn dein Gegenüber 'unzufrieden' mit Deinen Meldungen ist und die Verbindung deswegen abbricht. Konkret kann das hier bedeuten, dass Du einen falschen Port verwendest (meist bei SMTP unverschlüsselt: 25, bei SMTPS: 465, SMTPS od. SMTP+TLS: 587) oder dass Du über einen verschlüsselten Port zu kommunizieren versuchst, aber keine Verschlüsselung verwendest. Da GMX mittlerweile auf SMTP+TLS bzw. SMTPS besteht (=587), würde ich auf letzteres tippen.

Natürlich kann es auch sein, dass zwischen Deinem Lazarus-Programm und GMX eine Firewall sitzt und den Verkehr blockiert, das kann man aber recht einfach mit Telnet prüfen:

Code: Alles auswählen

% telnet mail.gmx.net 587
Trying 212.227.17.168...
Connected to mail.gmx.net.
Escape character is '^]'.
220 gmx.net (mrgmx104) Nemesis ESMTP Service ready
quit
221 gmx.net Service closing transmission channel
Connection closed by foreign host.
%

Benutzeravatar
juelin
Beiträge: 296
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: connection reset by peer

Beitrag von juelin »

Hallo Stevie,
Danke für Deine Hilfe.
Ich habe jetzt den Port von 465 auf 587 geändert. (laut gmx der Port für SMTP)
Jetzt bekomme ich aber die Fehlermeldung:
gmx.net (mrgmx 104) Nemesis ESMTP Service ready
Hast Du da eine Idee?
Benutze aus den Komponeneten in Indy Clients Protocols (nz) TIdSMTP
Indy I/O Handlers Protocols TIdSSLIOHandlerSocketOpenSSL
Indy Misc Protocols TIdMessage
Gruß
Jürgen

djdhg
Beiträge: 18
Registriert: Mo 8. Apr 2013, 17:12
OS, Lazarus, FPC: Win11, Debian 12.5, Lazarus: 2.2.6, FPC: 3.2.2
CPU-Target: 64Bit

Re: connection reset by peer

Beitrag von djdhg »

Hallo Juelin.
gmx.net (mrgmx 104) Nemesis ESMTP Service ready
Das ist keine Fehlermeldung. Die Verbindung steht und es können nun weitere Befehle geschickt werden.
Siehe auch https://faq.netzprisma.de/so-funktioniert-smtp/

Stevie
Beiträge: 173
Registriert: Di 27. Feb 2024, 22:40

Re: connection reset by peer

Beitrag von Stevie »

... wie auch schon oben von mir gezeigt ist das, was Du geposted hast, die erste Rückantwort des SMTP-Servers, wenn die Verbindung steht. Nun müsste von Deiner Seite etwas kommen. Vielleicht wäre es an dieser Stelle hilfreich, wenn Du uns mal die Prozedur zeigen würdest, mit der Du Deine Mail zu senden versuchst...

Benutzeravatar
juelin
Beiträge: 296
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: connection reset by peer

Beitrag von juelin »

Hallo zusammen,
Danke für Eure Antworten.
Aber es kann nicht sein, das diese Meldung ok ist.
Den danach, ich habe continue gedrückt, passier nichts mehr.
D. h. das Progarmm mit Hlaltepunkten kommt nicht mehr von dem Befehl IdSMTP1.Send(IdMessage1);
zum nächsten Befehl IdSMTP1.Disconnect;
Code im Anhang.
Wichtige proceduren: Button1Click und IdSMTPConnectet.
Gruß
Jürgen
Dateianhänge
unit1.pas
(11.4 KiB) 63-mal heruntergeladen
unit1.lfm
(10.67 KiB) 60-mal heruntergeladen
mail.lpr
(441 Bytes) 64-mal heruntergeladen

Stevie
Beiträge: 173
Registriert: Di 27. Feb 2024, 22:40

Re: connection reset by peer

Beitrag von Stevie »

Danke für den Source Code. Du solltest den auf jeden Fall noch mal löschen und Deine Emailadressen entfernen. Ich bin mir ziemlich sicher, dass Du die nicht in einem öffentlichen Forum 'herumliegen' haben willst. Außerdem wäre es unheimlich hilfreich, wenn Du das Projekt 'komplett', d.h. über den Menüpunkt "Publish Project..." exportiert und dann als ZIP zusammengefasst, anhängen würdest.

Inhaltlich schaue ich mir das gleich mal an...

EDIT: habe es versucht, aber ohne die Unit 'Eingabe' wird das nichts. Kannst Du bitte ein vollständiges, minimales Beispiel zusammenstellen?


BITTE STELLE SICHER, DASS KEINE BENUTZERNAMEN UND PASSWORTE IN DEINEN PROPERTIES STECKEN.


Ich hoffe mal, dass das, was derzeit in der Form steckt, nur ein Beispiel ist... :shock:
Zuletzt geändert von Stevie am Sa 27. Jul 2024, 18:34, insgesamt 2-mal geändert.

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 1206
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: connection reset by peer

Beitrag von kralle »

Moin,
juelin hat geschrieben: Sa 27. Jul 2024, 17:55 Aber es kann nicht sein, das diese Meldung ok ist.
Den danach, ich habe continue gedrückt, passier nichts mehr.
D. h. das Progarmm mit Hlaltepunkten kommt nicht mehr von dem Befehl IdSMTP1.Send(IdMessage1);
zum nächsten Befehl IdSMTP1.Disconnect;
Also, nach dem was schon geschrieben wurde, würde ich sagen das DU an dieser Stelle irgendwas senden musst und wenn es eine Abbruch-Kommando ist.
Nur das wie ist mir auch ein Rätsel,
wenn das System nicht weiter läuft.

Was passiert, wenn Du nur Kompilierst und dann die ausführbare Datei über eine Kommandozeile ausführen?

Gruß Heiko
OS: MX Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1

Benutzeravatar
juelin
Beiträge: 296
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: connection reset by peer

Beitrag von juelin »

Also, da ich neu in Lazarus bin,
habe ich das Programm aus dem Buch (siehe oben) abgetippt
und ein paar individuelle Änderungen gemacht.
PS: Passwort von meinem EMailKonto geändert.
Gruß
Jürgen

Benutzeravatar
juelin
Beiträge: 296
Registriert: Sa 24. Jul 2021, 18:03
OS, Lazarus, FPC: Linux Ubuntu 22. Windows 10 Delphi 11.3 (L 0.9.xy FPC 2.2.z)
CPU-Target: 64Bit
Wohnort: Mannheim

Re: connection reset by peer

Beitrag von juelin »

anahng eingabe
Dateianhänge
EINGABE.PAS
(26.22 KiB) 71-mal heruntergeladen

Benutzeravatar
kralle
Lazarusforum e. V.
Beiträge: 1206
Registriert: Mi 17. Mär 2010, 14:50
OS, Lazarus, FPC: Manjaro Linux, Mint und Windows 10 ,Lazarus 3.99, FPC-Version: 3.3.1
CPU-Target: 64Bit
Wohnort: Bremerhaven
Kontaktdaten:

Re: connection reset by peer

Beitrag von kralle »

Moin Jürgen,
quote=juelin post_id=142760 time=1722095742 user_id=8324]
Code im Anhang.
Wichtige proceduren: Button1Click und IdSMTPConnectet.
[/quote]

Obwohl ich INDY per OPM installiert habe, werden die INDY-Komponenten nicht gefunden.
Wenn ich eine INDY-Komponente auf das Form ziehe, gibt es zwar einen Eintrag in den Uses, aber trotzdem werden die Komponenten nicht gefunden.

Also, ich bin raus.

Gruß Heiko
OS: MX Linux, Linux Mint und Windows 10
FPC-Version: 3.3.1 , Lazarus 3.99
+ Delphi XE7SP1

Stevie
Beiträge: 173
Registriert: Di 27. Feb 2024, 22:40

Re: connection reset by peer

Beitrag von Stevie »

... also ich habe 'indylaz' über OPM installiert und die Dateien (nun inkl. eingabe.pas - danke!) einem neuen Projekt untergeschoben. Das hat funktioniert und das Programm lässt sich übersetzen.

Direkt sei angemerkt, dass das Vorgehen aus dem Buch ziemlich verzweigt und kompliziert erscheint. Ich wäre vermutlich erstmal den Weg aus https://stackoverflow.com/questions/244 ... -component gegangen und hätte die Nachricht komplett aus einem OnClick-Event heraus zusammengebaut und gesendet. Erst nachdem das funktioniert, wäre ich weitergegangen.

Warum in diesem Aufbau jetzt nicht funktioniert, muss ich mir mal in Ruhe anschauen.

Antworten