Tom: Newsletter Versand - 1 Sek META Refresh - HTTP Zusatandsl. Prot.

Beitrag lesen

Hello,

ist der Safe_mode aktiviert?
Welche PHP-Version ist im Einsatz?

Du könntest die Sache mittels JavaScript-->submit() oder Metarefresh vom Client aus steuern.
In der Datenbank würdest Du vermerken, welche Mails versandt sind. Dafür durchläust Du eine "Schleife":

lock table $tablename
  select $fieldlist from $tablename where $filter and mailcode < $mailcode order by $order limit 1
  mailversenden()
  update $tablename set mailcode = $mailcode where ID = $letzteermittelte ID
  unlock tables

putHTML

Wenn man das Risiko eingehen will, dass der Mailversand dann nicht unbedingt wirklich angestoßen werden konnte, aber die Datenbankperformane nicht kaputtmachen will, kann man das auch anders herum anordnen:

lock table $tablename
  select $fieldlist from $tablename where $filter and mailcode < $mailcode order by $order limit 1
  update $tablename set mailcode = $mailcode where ID = $letzteermittelte ID
  unlock tables
  mailversenden()

putHTML

Wie es zu codieren ist, probier erstmal selber aus. Die Schleife entsteht durch den Dialog von Server und Client. Wenn der Auftrag erledigt ist, wird das das Stückchen JavaScript mir dem Submit()einfach nicht mehr mitgesandt und stattdessen der Statusbericht gesendet.

Du kannst das Ganze natürlich auch immer für 10 emails aufbauen. Dann muss das Script eben noch eine echte Schleife bekommen für den Mailversand.

lock table $tablename
  select $fieldlist from $tablename where $filter and mailcode < $mailcode order by $order limit 10
  update $tablename set mailcode = $mailcode where ID = $letzteermittelte ID
  unlock tables

i = numrows
  while i > 0 -->
    mailversenden()
    i--
  <--

putHTML

Harzliche Grüße aus http://www.annerschbarrich.de

Tom

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau