![]() |
SMTP Connection reagiert nicht mehr
Hallo,
auf einigen Computern hängt sich meine Software komplett auf, wenn versucht wird eine E-Mail zu versenden. Nach einer Wartezeit von ca. 3-4 min bekommt man dann folgende Fehlermeldung: Socket Error # 10054 Conenction reset by peer. Hier der Delphicode der dafür verantwortlich ist. SMTP ist dei Indy IdSMTP Combo. Erstaunlich ist halt das es Monate lang so funktioniert und jetzt plötzlich auf einigen Computern nicht mehr geht.
Delphi-Quellcode:
Hat jemand eine Ideee woran das liegen kann? Kann ich evtl. einige Parameter bei der SMTP Komponente einstllen und die Verbindung "robuster" zu machen?
try
if SMTPAfterPOP = True then if not POP3.Connected then POP3.Connect; if not SMTP.Connected then SMTP.Connect; try if smtp.Connected then SMTP.Send(Msg); <= ERROR except on e: Exception do showmessage('Could not send E-Mail!'); end; finally if POP3.Connected then POP3.Disconnect; if SMTP.Connected then SMTP.Disconnect; Ist es zumindest möglich meine Meldung aus dem Except schneller zu zeigen? Keiner waretet Minutenlang, sondern schießt die Anwendung vorher ab... Bei den Clients wo es nicht funktioniert habe ich mit Wireshark mal die Kommunikation mitgeschnitten. Er kommt genau so weit:
Code:
Thanx
220 mail01.xyz.de ESMTP Service (Lotus Domino Release 6.5.4FP2) ready at Wed, 16 Apr 2008 10:15:58 +0200
EHLO ERP_79 250-mail01.xyz.de Hello ERP_79 ([10.10.10.1]), pleased to meet you 250-HELP 250-VRFY 250-EXPN 250-DSN 250-SIZE 250-8BITMIME 250 PIPELINING RSET MAIL FROM: <ProjectPoint> RCPT TO:<test@test.de> DATA 250 Reset state 250 ProjectPoint... Sender OK 250 [email]test2@test.de[/email]... Recipient OK 354 Enter message, end with "." on a line by itself From: "ProjectPoint" <ProjectPoint> Subject: Issue # 0073: zzz To: [email]test2@test.de[/email] Content-Type: multipart/mixed; boundary="a=_CcjlqjKq9AgPjetf8fj4Ka9O9X30Nfp" MIME-Version: 1.0 Reply-To: ProjectPoint Date: Wed, 16 Apr 2008 10:18:12 +0000 X-Priority: 1 Marcus ps. Mir gehen mittlerweile die Ideen aus :? |
Re: SMTP Connection reagiert nicht mehr
Zitat:
Es könnte sich ja irgendetwas im Netzwerk geändert haben, das du nicht siehst oder bemerkst. SMTP-server können Bugs haben, Virenscanner/Firewalls können die Kommunikation behindern... Zitat:
Dazu auf Server und Client (also beide Richtungen) einen
Code:
absetzen und eine Weile laufen lassen. Es dürfen keine Fehler auftreten.
C:\> ping -t -l 4096 RECHNERNAME
Dann einen anderen EMail-Client nehmen und Test Mails verschicken. Dann mit telnet servername SMTP von Hand eine Mail verschicken. |
Re: SMTP Connection reagiert nicht mehr
Hey shima,
hast recht eigentlich wundert mich sowas auch nicht mehr. So Netzwerkkommunkation ist halt recht komplex. Irgendwo wird sich eine Kleinigkeit geändert haben und alle sagen wieder sie haben nichts gemacht ;) Ich zwinge gerade den Mailserver mit dem überdimensionierten Ping in die Knie ;) Sieht soweit ganz gut aus. Einen anderen Mailclient habe ich bereits probiert, da funktionert es. |
Re: SMTP Connection reagiert nicht mehr
Zitat:
Hier ein Beispiel, was da so passieren kann: Auf einem Rechner (Name: ABC) wird eine Kommunikation zu SAP eingerichtet. Später kommen 6 weitere Rechner hinzu. Diese erhalten aber andere Namen wie der 1. Rechner und werden durchnummeriert. (Name: RFC_client01 bis RFC_client06) Der Name des ersten Rechners wird aber nicht geändert, nach dem Motto "never change a running system". Einige Monate später fällt bei den SAP-Admins die Entscheidung, dass nur noch Rechner mit dem Namen RFC-clientXX Zugriff auf SAP haben sollen. (jede Lizenz kostet ja Geld) Also wird dem Rechner ABC die Lizenz auf SAP entzogen. Das hat aber keine bislang noch keine Auswirkung. 8 Monate später wird das SAP Gesamtsystem am Wochenende neu gebootet. Und am Montag läuft plötzlich ein Rechner nicht mehr, der jahrelang funktioniert hat. :shock: :shock: |
Re: SMTP Connection reagiert nicht mehr
Moin shima,
dein Fall ist auch gut. Solche Probleme sind sehr schwer zu finden. Man sucht halt häufig zunächst nicht an der richtigen Stelle. Heute wird sich rausstellen ob meine SMTP Funktion wieder gut funktioniert. Gestern Abend habe ich den Parameter "Pipelining" auf false gesetzt, so dass nun jedes SMTP Kommando in einem seperaten TCP Packet versendet wird. Testweise hat dies gestern gut funktioniert. Wo nun letzendlich der Fehler lag / liegt konnte ich nicht ermitteln. Ich vermute, dass die TCP/IP Verbindungen teilweise nicht sehr stabil sind.
Delphi-Quellcode:
Gruß
// maximum time to wait for the conenction to the SMTP server
SMTP.ConnectTimeout := 10000; // Send every Command in a single TCP Package SMTP.PipeLine := false; // ReadTimeout is an Integer property that indicates the number of milliseconds to wait // for successful completion of methods that perform read operations using the client. SMTP.ReadTimeout := 10000; Marcus |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 Uhr. |
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