Mailversand optimieren

VIPbanner_de

www.VIPbanner.de
ID: 72674
L
1 Mai 2006
2.598
150
habe einen mailversand den ich etwas optimieren möchte. Momentan ist das ganze so aufgebaut das aus einer Mysql Db die Userdaten ausgelesen werden.. und der Mailversand in einer Schleife abläuft bist die Ids abgearbeitet sind... das was mich stört: Während die schleife läuft seh ich eine weiße Seite.. und erst wen die mails alle weg sind bekomme ich die Info das die mails verschikt sind.. wie kann ich aber machen das ich jede mail die verschickt wird in echtzeit beobachten kann?..

Also:

Mail verchickt an: [email protected] -> Seitenreload
Mail verchickt an: [email protected], [email protected] -> Seitenreload
Mail verchickt an: [email protected], [email protected], [email protected] -> Seitenreload
etc...

Ich hatte mal ein Mailtauschscript das so gearbeitet hat.. nur leider finde ich die software niergens mehr sonst hätte ich da gespickt :)
 
ich aber machen das ich jede mail die verschickt wird in echtzeit beobachten kann?..
Notiere dir die Liste, die abzuarbeiten ist. Entweder in der Session oder in der DB.

Arbeite x Mails ab und dann redirekte wieder auf das selbe Script. Diesmal gib aber einen Parameter mit, einen Zähler, der angibt, wie viele Mails abgearbeitet sind.

Verbessern kannst du das, indem du direkt die Mails in die DB einträgst und die Schickerei einem Cronjob überlässt. Dann musst du gar nicht aktiv auf den Versand warten, sondern kannst ihn beobachten.
 
gibts für sowas auch mal eine Beispiel an dem man sich orientieren könnte?.. Bevor ich jetzt los mache und am ende kommt nix bei raus würde ich mir das gerne mal grob irgendwo anschauen
 
Was heißt Beispiel ?... es steht doch nicht zu jedem Thema schon ne 1:1-Kopie im Netz, die man nur abschreiben muss.

Mal so grob, wie es aussehen sollte:
PHP:
session_start();
if($_POST['mail'])
{
  // Abschicken
  for($i = 0; $i < 1000; $i++) // 1000 Mails schicken
    $_SESSION['mails'][$i] = "[email protected]";
  header("location: www.example.com/sendmails.php?c=0");
}
elseif(isset($_GET['c']))
{
  $c = $_GET['c'];
  for($i = $c; $i < $c+5; $i++) // sende 5 Mails
  {
    $to = $_SESSION['mails'][$i];
    echo "mailing Mail $i to $to...";
    mail($to, "Foobar", "blablabla");
    echo "OK\n");
  }
  $c += 5;
  header("location: www.example.com/sendmails.php?c=$c");
}
Abbruchbedingung fehlt noch und natürlich der Inhalt der Mail und was du halt sonst noch brauchst.
So in etwa sieht es aus.
 
Mein Ansatz sähe hier anders aus:
ich würde eine Liste aller zu verschickenden Mails ausgeben und dann jeden Eintrag der Liste einzeln verschicken. Dazu würde ich das Mailscript via AJAX aufrufen und bei Erfolg ein OK in die Liste eintragen lassen.