AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Mailversand nur einmal möglich
Thema durchsuchen
Ansicht
Themen-Optionen

Mailversand nur einmal möglich

Ein Thema von H.Bothur · begonnen am 28. Sep 2021 · letzter Beitrag vom 28. Sep 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.340 Beiträge
 
Delphi 12 Athens
 
#1

AW: Mailversand nur einmal möglich

  Alt 28. Sep 2021, 09:33
Mal ganz einfach auf die Idee gekommen vor/nach dem Senden die Connection wieder zu trennen? (immer neuverbinden)

Zitat:
Mailen.IdMessage1.Clear;
Hier kannst du auch nur hoffen, dass wirklich alles nötige bereinigt wird.



Nja, wenn du keine tausenden Mails die Sekunde versendest,
dann gäbe es doch praktisch keine Nachteile alle Mail-Komponenten bei jedem Senden dynamisch zu erstellen und am Ende wieder freizugeben,
und schon kann es auch keine übergreifenden Problemchen geben, zwischen zwei aufrufen.


Und sag bitte nicht, dass "Mailen" die globale Variable für TMailen ist.
Die Methde ist schon in dieser Klasse, also verwendet man hier niemals die globale Variable .... wenn nötig, dann darf man Self benutzen.


Und was die Fehlerbehandlung angeht:
Wieso kommt immer wieder wer auf die dämliche unpraktische Idee mit ShowMessage den Programmfluß zu unterbrechen?
* entweder richtig mit Exceptions arbeiten (dann braucht die Funktion auch keinen Result)
* oder einen Result Record oder z.B. ein LastErrorText-Property in TMailen, was ma bei Result=False extern ausgewertet werden kann
* und schon lässt sich diese Funkton/Prozedur auch gefahrlos automatisiert nutzen (Fehlerbehandlung da, wo aufgerufen wurde, z.B. schön mit try-except und ohne einen Deadlock zu befürchten)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (28. Sep 2021 um 09:41 Uhr)
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
259 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Mailversand nur einmal möglich

  Alt 28. Sep 2021, 10:53
Kurz - weil ich gerade nicht dazu komme:

Danke fürs Feedback und fürs Kopf waschen

Ich kucke mir das nachher mal in Ruhe an !

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
259 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Mailversand nur einmal möglich

  Alt 28. Sep 2021, 12:00
Mal ganz einfach auf die Idee gekommen vor/nach dem Senden die Connection wieder zu trennen? (immer neuverbinden)
Ja ... bin ich

Delphi-Quellcode:
  iAttachment.Free;
  Mailen.IdMessage1.Clear;
  Mailen.IdSMTP1.Disconnect;
  Mailen.IdSSLIOHandlerSocketOpenSSL1.InputBuffer.Clear;
Zitat:
Mailen.IdMessage1.Clear;
Hier kannst du auch nur hoffen, dass wirklich alles nötige bereinigt wird.
Wieso, fehlt da noch etwas ??

Zitat:
Nja, wenn du keine tausenden Mails die Sekunde versendest,
dann gäbe es doch praktisch keine Nachteile alle Mail-Komponenten bei jedem Senden dynamisch zu erstellen und am Ende wieder freizugeben, und schon kann es auch keine übergreifenden Problemchen geben, zwischen zwei aufrufen.
OK ... das kann ich versuchen. Ich gebe gerne zu das für mich das verwenden der fertigen Module einfacher ist.

Zitat:
Und sag bitte nicht, dass "Mailen" die globale Variable für TMailen ist.
Die Methde ist schon in dieser Klasse, also verwendet man hier niemals die globale Variable .... wenn nötig, dann darf man Self benutzen.
Doch - sag ich Ich habe es jetzt rausgelöscht und kann das Programm trotzdem kompilieren. Allerdings habe ich es immer wieder mal in Projekten das ich das vorsetzen muss weil es sonst einen Fehler gibt.

Zitat:
Und was die Fehlerbehandlung angeht: ...
Na ja ... natürlich geht es eleganter - aber es funktioniert ja !

Ich habe das jetzt mal geändert, mal sehen ob es jetzt wieder geht. Wenn es immer noch hängt werde ich als nächstes die Module dynamisch erstellen und komplett beenden.

Danke erstmal
Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  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 19:47 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