kostenloser Webspace werbefrei: lima-city


mehrfache mail()-Zustellung

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    beachteam

    beachteam hat kostenlosen Webspace.

    Hey Leute, ich bin am verzweifeln. Ich habe eine kleine Verwaltung für Sportaktivitäten bei denen man sich über neue spieltermine informieren kann.

    Wenn ein neuer Spieltermin ansteht will ich alle spieler darüber benachrichtigen.

    Ein einfaches Formular mit Datum, Location und Uhrzeit wird ausgefüllt, wodurch automatische eine Mail an alle Spieler gesendet werden soll:

    // Daten des formulars auslesen
              $from = "from:Admin@beachteam.de\n";
              $from .= "Content-Type: text/html\n";
              $betreff = $_POST["subject"];
              $headline = $_POST["headline"];
      	  $text = $_POST["text"];
      	  $userIDs = $_POST["players"];
    
    // Über alle spieler Iterieren
      	  foreach ($userIDs as $userID) {
      	    $data = $functions->getUserDataByUserID($userID);
      	    $email = $data->email;
      	    $mailtext = "<h3 style=\"background-color:#ffa943\">Hallo ".$data->prename."</h3>
      	    <p>$text</p>
       	    <p><font size=\"-1\">Dies ist eine automatisch generierte Email, falls du 
      	    Probleme hast und antworten willst schreibe bitte an Bla@muh.de.<br/>
                Falls du nicht über neue Termine per Mail benachrichtigt werden willst kannst du die
      	    Einstellungen in deinem Profil beim Beachteam ändern.</font></p>";
    
    // Mail absenden
      	    mail($email,$betreff,$mailtext,$from);
              }


    Die Funktion funktioniert wunderbar und es werden Mails zugestellt, allerdings bekommt jeder Spieler nicht eine Mail, sondern gleich die 5-fache ausfertigung. Manchmal sogar unterschiedlich, einer 3mal, der andere 2mal und der nächste 5mal, was ich mir absolut nicht erklären kann.

    wenn ich die Zeile

    mail($email,$betreff,$mailtext,$from);


    durch folgende ersetze:

    echo "Mail sent to: $email<br/>";


    Dann bekomme ich eine wunderschöne Testausgabe, jeder Spieler samt seiner Mailadresse taucht genau einmal auf, es sollte also alles klappen.


    Das Problem scheint also an der mail(); funktion zu liegen. Muss da irgendwas beachtet werden? Läuft die Schleife zu schnell sodass die Mail-Funktion nicht nach kommt? Muss man einen Sleep-timer einbauen oder etwas ähnliches?
    Hilfe sehr erwünscht!

    Beitrag zuletzt geändert: 20.12.2009 16:46:59 von beachteam
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Autor dieses Themas

    beachteam

    beachteam hat kostenlosen Webspace.

    Hm ja aber das merkwürdige is ja wenn ich da noch eine kleine If-Anweisung reinhänge

    if ($userID == 1337) {
    // Mail senden
    }


    sodass nur ein bestimmter Spieler die Mail erhalten soll wird sie wunderbar einfach zugestellt. Woran kann das denn bei Lima liegen? Das muss man doch irgendwie umgehen können?

    Und dieser PHPMailer entkoppelt das ganze Mailsystem von Lima oder wie verstehe ich das?
  4. Mit PHPMailer versendest du die E-Mail nicht über lima, sondern über einen externen Mailserver.

    Aber ich wüsste nicht, dass man das umgehen kann, da in dem Script kein Fehler ist.

    LG cookies
  5. Autor dieses Themas

    beachteam

    beachteam hat kostenlosen Webspace.

    Hmm ok würde das gerne installieren, aber scheinbar muss man da ja einen Path in der PHP.ini setzte, die man bei Lima nicht bearbeiten kann oder? Zumindest habe ich nichts gefunden!

    Bzw noch die Frage welche Daten ich bei

    $mail->IsSMTP();                                   // per SMTP verschicken
    $mail->Host     = "auth.smtp.kundenserver.de"; // SMTP-Server
    $mail->SMTPAuth = true;     // SMTP mit Authentifizierung benutzen
    $mail->Username = "mxxxxxxxx-x";  // SMTP-Benutzername
    $mail->Password = "xxxxxx"; // SMTP-Passwort


    eingeben muss? Kenne mich mit SMTP leider nicht so aus
  6. beachteam schrieb:
    Hmm ok würde das gerne installieren, aber scheinbar muss man da ja einen Path in der PHP.ini setzte, die man bei Lima nicht bearbeiten kann oder? Zumindest habe ich nichts gefunden!

    Bzw noch die Frage welche Daten ich bei

    $mail->IsSMTP();                                   // per SMTP verschicken
    $mail->Host     = "auth.smtp.kundenserver.de"; // SMTP-Server
    $mail->SMTPAuth = true;     // SMTP mit Authentifizierung benutzen
    $mail->Username = "mxxxxxxxx-x";  // SMTP-Benutzername
    $mail->Password = "xxxxxx"; // SMTP-Passwort


    eingeben muss? Kenne mich mit SMTP leider nicht so aus


    Melde dich zum Beispiel bei gmx.de an mit der Adresse sportaktivitäten@gmx.de (nur als Beispiel). Dann müsstest du folgendes eingeben:

    $mail->IsSMTP();                                   // per SMTP verschicken
    $mail->Host     = "smtp.gmx.net"; // SMTP-Server
    $mail->SMTPAuth = true;     // SMTP mit Authentifizierung benutzen
    $mail->Username = "sportaktivitäten@gmx.de";  // SMTP-Benutzername (bzw. halt dann die richtige E-Mail-Adresse)
    $mail->Password = "GMX PASSWORT"; // SMTP-Passwort


    Falls dir das nicht passt, musst du selber deine richtigen Daten angeben, dann kann ich dir leider nicht helfen.

    mfg
    company-red
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!