Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi SMTPServer in Service (bleibt nach einiger Zeit stehen) (https://www.delphipraxis.net/114154-smtpserver-service-bleibt-nach-einiger-zeit-stehen.html)

michaelg 20. Mai 2008 17:15


SMTPServer in Service (bleibt nach einiger Zeit stehen)
 
Ich habe eine Anwendung geschrieben, die unter anderem ein elektronisches Belegarchiv enthält. Meine Anwender
möchten gerne ausgehende EMails mit in diesem Archiv haben. Selbst einen EMailclient zu schreiben, der jeden Mist
berücksichtigt, hielt ich für eine Lebensaufgabe für Durchgeknallte und kam für mich nicht in Frage.

Da habe ich mir gedacht, ich lasse den Anwender in seinem gewohnten Mailclient-Umfeld und fange die Mails einfach ab,
schmeiss sie in mein Archiv und schick sie dann weiter an den öffentlichen SMTP-Server.
Das ganze läuft als Dienst auf dem Server des Anwenders, lediglich die Einstellung für den SMTP-Server im Mailclient muß auf meinen Dienst umgestellt werden.

Ich hab das mit Delphi 5 und den Indy-Komponenten 10.0.76 gebaut. Sowohl tIdSMTPServer als auch tIdSMTP
kamen zum Einsatz.

Leider mußte ich feststellen, daß der Dienst scheinbar nach einigen Tagen stehen bleibt. Keine Fehlermeldung, kein Anhaltspunkt.
Er tut einfach nix mehr. Startet man ihn neu, läuft er einfach weiter, wieder einige Tage.


Bevor ich anfange zusammenhanglos Quelltexte zu posten, möchte ich zunächst mal fragen:

- Ist das überhaupt der richtige Ansatz gewesen? Ich bin mir nicht ganz sicher, ob man das auch mit tIdSMTPRelay hätte realisieren können.
- Wieviel Einfluß haben smtpserver.Listenqueue (=15) und smtpserver.MaxConnections (=0) tatsächlich?


Da das Problem erst nach sehr langer Zeit auftritt, ist Rumprobieren ziemlich nervig.
Vielleicht hat ja jemand von Euch schon ähnliche Erfahrungen gemacht und kann mir einen Ansatz bzw. Anstoss geben.


Vielleicht liegts ja auch nicht an den Indykomponenten sondern am Service selbst. Wenn Ihr Quelltext braucht zum Gucken, sagt Bescheid.

SirThornberry 20. Mai 2008 17:19

Re: SMTPServer in Service (bleibt nach einiger Zeit stehen)
 
Ich hatte mal ein Problem wo der Fehler auch erst nach einigen Tagen kam. Ich hab das ganze dann in einer VM laufen lass und ab und zu einen Snapshot gespeichert. Dadurch wusste ich dann in etwa wann der Fehler auftritt und konnte mir das ganze näher anschauen.

michaelg 20. Mai 2008 23:42

Re: SMTPServer in Service (bleibt nach einiger Zeit stehen)
 
Naja, der Dienst verhält sich ziemlich ruhig am Bildschirm, ausser Protokoll schreiben in eine Textdatei zeigt der nix an, ist halt ein Dienst. Ich schätze die Sache mit dem Screenshot zieht da nicht so gut, auch wenns sonst ne nette Idee ist.

Ich hab das Gefühl, meine Beschreibung ist zu allgemein und Euch fehlen noch ne Menge Infos von meiner Seite , um was dazu sagen zu können. Ich weiß nur nicht welche. Was kann ich tun, was soll ich an Quelltext posten? Los, löchert mich mit Fragen, ziehts mir aus der Nase :-) Ist noch nie jemandem ein Dienst stehengeblieben?

Dumpfbacke 21. Mai 2008 06:19

Re: SMTPServer in Service (bleibt nach einiger Zeit stehen)
 
Stell doch mal Dein Code hier ein dann wird es einfacher für alle.

Tanja

rotfc 21. Mai 2008 07:09

Re: SMTPServer in Service (bleibt nach einiger Zeit stehen)
 
Könnte es vielleicht sein, daß der Dienst nicht nach einer bestimmten Zeit, sondern nach einer bestimmten Anzahl von archivierten Mails stehenbleibt?

Stichwort: Irgendeine interne Variable zu klein dimensioniert?

Luckie 21. Mai 2008 07:14

Re: SMTPServer in Service (bleibt nach einiger Zeit stehen)
 
Wie sieht es mit Speicherproblemen aus? Gibst du eventuell Objekte nicht mehr frei, so dass dem Dienst der Soeicher ausgeht? Die Sympthome könnten dafür sprechen.

SirThornberry 21. Mai 2008 08:21

Re: SMTPServer in Service (bleibt nach einiger Zeit stehen)
 
Zitat:

Naja, der Dienst verhält sich ziemlich ruhig am Bildschirm, ausser Protokoll schreiben in eine Textdatei zeigt der nix an, ist halt ein Dienst. Ich schätze die Sache mit dem Screenshot zieht da nicht so gut, auch wenns sonst ne nette Idee ist.
kein Screenshot sondern ein Snapshot. Dabei wird der aktuelle Inhalt der VM gesichert (ram etc.) so das man später an genau der Stelle weiter machen kann. Sozusagen ein einfrieren des PC und später wieder auftauen.

michaelg 21. Mai 2008 18:22

Re: SMTPServer in Service (bleibt nach einiger Zeit stehen)
 
Ups, ja Snapshot ist wohl was anderes...da hast Du wohl Recht :mrgreen: .

Ich glaube, das Problem ist vom Tisch, bzw. es ist nicht der Dienst, sondern Tobit, da gibt es ne MTU-Einstellung (Maximum Transfer Unit), die haben wir hochgesetzt, denn wir hatten gesehen, daß jedes Mal die letzte Mail vorm "Stehenbleiben" einen Riesenanhang hatte. Bisher ist er nicht mehr stehengeblieben, hoffen wir mal das Beste. Trotzdem erstmal Danke.


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