Entwickler-Ecke

Internet / Netzwerk - TidSMTP - Anzahl versendeter eMails als Progressbar zeigen


Svenkan - Fr 26.06.09 13:59
Titel: TidSMTP - Anzahl versendeter eMails als Progressbar zeigen
Ich möchte gerne, dass als Progressbar dem User dargestellt wird, wie viele eMails bereits versendet wurden. Wenn z.B. ein User 10 Empfänger seiner eMail eingegeben hat, dann soll dieser nicht nichtsahnend vor dem Programm sitzen, sondern sehen können, wie weit das Programm bereits mit dem Versenden dieser "Rund-Mail" ist. Gibt es da eine Möglichkeit zu sagen, wie viele eMails bereits verschickt wurden?


elundril - Fr 26.06.09 14:05

du könntest den maximalwert als Progressbar.max und dann nach jedem versenden die position um eins erhöhen. ;) wäre so eine idee.

lg elundril


Svenkan - Fr 26.06.09 14:17

Ja, das ist ja nicht das Problem. Nur mit welcher Prozedur von idSMTP kann ich feststellen, wann eine eMail verschickt wurde?


elundril - Fr 26.06.09 14:20

grob ins blaue geschossen mit dem Ereigniss "OnWorkBegin" bzw "OnWorkEnd". Aber ich geb keine garantien ab :D

lg elundril


Svenkan - Fr 26.06.09 16:26

Ja ok. xD
Das einzige Problem ist nur, dass ich immer noch nicht weiß, wie viele Mails bereits verschickt wurden.


Xentar - Fr 26.06.09 16:42

Ich versteh die Frage nicht..
a) du verschickst mehrere Mails nacheinander (rufst mehrmals IdSMTP.Send auf). Dann weißt du doch in deinem Programm, wie weit du bist.
b) du hast 20 Leute in CC - dann wird die E-Mail doch trotzdem nur EINMAL zum Server geschickt, und der kümmert sich dann darum, dass alle 20 die bekommen.

Aus deiner Beschreibung schließe ich, dass du b) umsetzen willst. Aber wofür brauchst du bei "1 von 1 wird gesendet" einen Fortschrittsbalken?
Falls du größere Anhänge hast, und den Fortschritt davon anzeigen möchtest, dann hilft dir OnWork weiter.


Svenkan - Fr 26.06.09 16:46

Es wird nur einmal die eMail verschickt? Argh..
Das sollte man natürlich auch vorher wissen. Alles klar, damit ist das Thema dann wohl durch.


Xentar - Fr 26.06.09 16:49

Ein Blick in den Quellcode von IdSMTP.Send hätte auch geholfen ;)
Da sieht man, dass einfach nacheinander alle Empfänger an den Server gemeldet werden - und dann nur einmal die Nachricht.