![]() |
E-Mail Versand mit Indy 10 geht nur in der IDE
Hallo,
ich stehe hier kurz vor der Verzweifelung und komme nicht weiter.... Ich will aus einer kleinen Anwendung eine ganz popelige kleine Mail senden, kein Angang, nur Text. Wenn ich das Programm mit F9 in der IDE ausführe klappt alles prima, keine Exceptions, kein Abbruch und die Mail kommt auch sauber an. Wenn ich das Programm aber auf einem fremden PC ohne installierem Delphi starte friert das Programm für mindestens eine Minute ein und dann kommt erst die Exception "Connection closed gracefully". Die Mail kommt aber nie an. Zu der Exception habe ich hier im Forum jede Menge gefunden, aber bei mir tritt der Fehler nur in der späteren Anwendung auf, in der IDE geht alles prima ?!?! Irgendjemand eine Idee? Gruß und Danke, Der Alex :wall: |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Es muss an einer fehlenden Datei oder ähnliches liegen. Muss man mit der eigenen .exe eine weitere Datei weitergeben, wenn man die Indy Komponenten benutzt?
Ich habe es jetzt auf 4 PCs getestet: 1. PC: Entwicklungsrechner mit installiertem Delphi: funktioniert 2. PC: Testrechner ohne installiertem Delphi: funktioniert nicht 3. PC: Testrechner mit installiertem Delphi: funktioniert 2. PC: VMware ohne installiertem Delphi: funktioniert nicht ich versteh es nicht! Gruß, Alex |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Zitat:
Überprüfe die Datei mal mit Dependency Walker o.ä. |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Fehlanzeige: Ich hab Dependency Walker mal ausprobiert und der meckert nicht. Es ist doch aber schon komisch, dass es auf allen PCs mit installiertem Delphi geht und auf denen ohne eben nicht.
Ich hab gerade mal in einer VMware Umgebung eine Delphi 7 Demo von einer Buch CD installiert und auf dem System funktioniert danach der Mailversand auch?!? Ich hatte zuerst die beiden Komponenten TidMessage und TidSMTP auf die Oberfläche gezogen, jetzt aber mal spasseshalber rausgeschmissen und in der Funktion manuell erstellt... half aber nix. :-( Noch jemand eine Idee? |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Hallo,
wie wärs mit madexcept oder remote debugging. Heiko |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Indys updaten ... (falls neuere Version verfügbar).
|
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Zitat:
Was mich verwirrt ist, dass es auch rund 1-3 Minuten dauert, bis die Exception geworfen wird und nicht sofort. |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Zitat:
|
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Zitat:
Vielleicht mache ich ja auch was falsch, hier mal meine "vereinfachte" Senderoutine:
Delphi-Quellcode:
Vielleicht ist der Fehler ja auch hier, nur in der IDE geht es halt und das verstehe ich nicht.
procedure SendMail;
var email: TidMessage; smtp: TidSmtp; strMessage: String; begin email := TidMessage.Create(nil); smtp := TidSMTP.Create(nil); smtp.Username := 'derusername'; smtp.Password := 'daspasswort'; smtp.Host := 'smtp.irgendwas.de'; email.ContentType := 'text/plain'; email.From.Text := 'email@irgendwas.de'; email.Recipients.EMailAddresses := 'email@irgendwas.de'; email.Subject := 'Der Betreff'; strMessage := 'Die erste Zeile Text' + #10#13; strMessage := strMessage + 'Die zweite Zeile'; email.Body.Text := strMessage; try try if not smtp.Connected then smtp.Connect; if smtp.Connected then smtp.Send(eMail); except on e: Exception do begin MessageBox(handle, PChar(e.Message), PChar('Übertragungsfehler'), MB_OK + MB_ICONHAND); Exit; end; end; finally if smtp.Connected then smtp.Disconnect; email.Free; smtp.Free; end; end; Gruß, Der Alex |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Bist du sicher, dass quasi direkt nach dem Send-Befehl die Verbindung geschlossen und alle Komponenten aufgelöst werden dürfen? :gruebel:
Das hat zwar rein von der Überlegung her nichts damit zu tun, dass mit Delphi auf dem Rechner die Geschichte läuft und ohne Delphi nicht - aber trotzdem. Wo also findet die zeitliche Synchronisation beim Mail senden mit dem SMTP-Host statt? Machen die Indys das selber? Wie verträgt sich das mit dem sofortigen Free der Komponenten? //Nachtrag: Hast du nun die neuesten Indys drauf, oder nicht? :cyclops: |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Zitat:
ich bin bisher davon ausgegangen, dass die Indy Komponenten dies kapseln. Ich hab die 10er Version von der original Delphi 2006 CD. Zum Test hab ich auch mal das Freigeben der Komponenten auskommentiert, immer der gleiche Effekt. Gruss, Alex |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Hallo Leute,
jetzt hab ich was entdeckt, was ich selbst noch nicht so recht glauben kann. Der Effekt ist ja, dass das Programm beim senden der E-Mail minutenlang blockiert ist und dann mit der "Pseudo-Exception" - connection closed gracefully - endet ohne die Mail wirklich versandt zu haben. Doch jetzt kommt es, ich hab auf den betroffnenen PCs das Gdata AntiVirenKit 2007 installiert, dort gibt es eine Art Proxy für aus- und eingehende Mails, die dort auf Viren geprüft werden. Wenn ich den Schutz für ausgehende Mails (SMTP) ausschalte geht es sofort, ohne Exception und ohne einfrieren der Anwendung. Und die Mail kommt auch an!?! Hatte das schon mal jemand mit dem AntiVirenKit und den Indy Komponenten? Jemand eine Idee, wie ich da Umgehen kann? Gibt es eine Alternative zu den Indy Komponenten für Delphi? Gruss, Alex |
Re: E-Mail Versand mit Indy 10 geht nur in der IDE
Zitat:
Indys sind bekanntermaßen oftmals etwas fehlerbehaftet, was man aber für solche relativ mächtigen Komponenten, die man für umsonst kriegt, in Kauf nimmt. Deine Frage nach der Alternative: Für mich ist die Alternative für (möglicherweise fehlerhafte) Indys ... *Trommelwirbel* ... aktuellere Indys. :zwinker: Also upgraden, falls möglich. Danach würde ich dann nach Alternativen suchen ... allerdings nicht zu den Indys, sondern zum Antivirenkit bzw. zu dessen Einstellungen. :???: Vorausgesetzt natürlich, dein Proggi wird nur auf Rechnern eingesetzt, bei denen du die "Antiviren-Entscheidungshoheit" hast. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:02 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