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