morgens,
Mein Problem ist jetzt, daß die Bestätigungsseite erst angezeigt wird, wenn alle Mails verschickt sind. Das dauert etwas und es kommt dadurch zu jeder Menge Doppelpostings.
Schwierig. Und wenn es wirklich "jede Menge" Doppelpostings gibt, ist dein Forum besser und häufiger besucht als das Forum hier.
Wie kann ich die Bestätigungsseite vor dem Mailversand anzeigen?
Solange niemand dein Script im Detail kennt, ist das schwer einzuschätzen. Zunächst scheint da ein Widerspruch vorzuliegen. Du schreibst:
... wird eine Subroutine aufgerufen, die eine Bestätigungseite erzeugt und anzeigt. Ganz zum Schluß erfolgt der E-Mail-Versand
und unmittelbar danach sagst du,
daß die Bestätigungsseite erst angezeigt wird, wenn alle Mails verschickt sind
Also, was passiert nun wirklich zuerst: die Bestätigung oder der mail-Versand?
Grundsätzlich könntest du mit einem "lock"-file dafür sorgen, daß derjenige, der gerade geschrieben hat, keine Doppelpostings absenden kann und erst wieder schreibberehctigt ist, wenn alle anderen anstehenden Vorgänge einschließlich mail-Versand erledigt sind.
Muß ich dazu ein separates Script für den Mailversand verwenden
Nein, nicht zwingend. Schaden kanns aber auch nix.
wie rufe ich ein PerlScript aus einem PerlScript auf
Mit "include" oder "require"
In deinem Fall wärs wahrscheinlich günstiger, mit einer if/else-Abfrage nachzuschauen, ob der mail-Versand erledigt ist und dann erst die "Bestätigung" anzeigen zu lassen.
Das größte Problem "könnte" (mit sehr vielen Fragezeichen) sein, daß bei der Frequenz, mit der dein Forum besucht wird, ganz einfach dein "Posteingang" beim mail-Provider überläuft. Das ist unwahrscheinlich, aber nicht unmöglich.
Grüße aus Berlin
Christoph S.