AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi SMTP Connection reagiert nicht mehr
Thema durchsuchen
Ansicht
Themen-Optionen

SMTP Connection reagiert nicht mehr

Ein Thema von Salomon · begonnen am 16. Apr 2008 · letzter Beitrag vom 17. Apr 2008
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

SMTP Connection reagiert nicht mehr

  Alt 16. Apr 2008, 12:59
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:
  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;
Hat jemand eine Ideee woran das liegen kann? Kann ich evtl. einige Parameter bei der SMTP Komponente einstllen und die Verbindung "robuster" zu machen?

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:
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
Thanx
Marcus

ps. Mir gehen mittlerweile die Ideen aus
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: SMTP Connection reagiert nicht mehr

  Alt 16. Apr 2008, 13:19
Zitat von Salomon:
Erstaunlich ist halt das es Monate lang so funktioniert und jetzt plötzlich auf einigen Computern nicht mehr geht.
Für mich ist das kein Grund mich zu wundern.
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 von Salomon:
Mir gehen mittlerweile die Ideen aus
Erst mal das Netzwerk etwas testen.
Dazu auf Server und Client (also beide Richtungen) einen
Code:
C:\> ping -t -l 4096  RECHNERNAME
absetzen und eine Weile laufen lassen. Es dürfen keine Fehler auftreten.

Dann einen anderen EMail-Client nehmen und Test Mails verschicken.
Dann mit telnet servername SMTP von Hand eine Mail verschicken.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#3

Re: SMTP Connection reagiert nicht mehr

  Alt 16. Apr 2008, 14:04
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.
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: SMTP Connection reagiert nicht mehr

  Alt 16. Apr 2008, 14:33
Zitat von Salomon:
...und alle sagen wieder sie haben nichts gemacht
Ja, da ist immer das Gleiche.
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.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#5

Re: SMTP Connection reagiert nicht mehr

  Alt 17. Apr 2008, 08:39
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:
  // 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;
Gruß
Marcus
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:14 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