email an mehrere variable Empfänger

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • email an mehrere variable Empfänger

    Hallo liebe Forenleser,

    ich habe mit PHP einen eMailverteiler gebaut. Dort erscheint jeder Empfänger, der sich in der MySql-Datenbank angemeldet hat mit seiner eMail-Adresse in einer Liste.

    Über eine Checkbox vor dem jeweiligen Namen kann man markieren, an wen alles eine Mail geschickt werden soll.

    Die Checkbox hat folgende Werte:
    <input type='checkbox' name='empfaenger[]' value='$row[2]'>

    Nachdem der Nutzer eine oder mehrere Checkboxen markiert hat, erzeuge ich eine Seite, auf welcher noch einmal angezeigt wird, welche Empfänger markiert worden sind.

    (blablabla)

    if (count($empfaenger))
    {
    echo "Mail soll verschickt werden an: ";
    for ($i=0; $i<count($empfaenger);
    print($empfaenger[$i++]."<br> "));
    }

    (blablabla)

    Nachdem der User dann über ein Formular seine Mail an die ausgewählten Empfänger verfaßt hat, soll diese dann auch an all die Empfänger gesendet werden.

    Und nun meine Frage:
    Wie bekomme ich all die ausgewählten bzw. per Checkbox markierten Empfänger in meinen Mail-Befehl an die entsprechende Stelle bzw. wie schicke ich diese Mail generell an den variablen Empfängerkreis?

    Mein Mail-Befehl sieht etwa so aus:

    mail("???????", "$betreff", "$text", "From: $email\n");


    Ich bin noch ein ziemlicher Anfänger und würde mich über eine verständliche Antwort sehr freuen. Vielen Dank für Deine Mühe und viele Grüße,
    Olli

  • #2
    so vieleicht irgendwie:

    $i = 0;
    while ($i <= $anzahlderempfaenger)
    {
    mail("$empfaenger[$i++]", "$betreff", "$text", "From: $email\n");
    }


    Tob

    Kommentar


    • #3
      anstatt jedem einzelnen eine Extra-eMail zu schicken, kannst du im Feld für den Empfänger auch alle Adresse aneinanderhängen, dann liegt die Rechnerleistung direkt beim Mail-Server und deine Anwendung kann weiterlaufen. Bei mehreren tausend eMails braucht es dich allerdings nicht zu wundern, wenn es ein weilchen dauert, bis was ankommt.
      und so gehts:

      for ($i=0; $i<count($empfaenger); $i++){
      if ($i>0) $email_epmfaenger=$email_empfaenger.",";
      $email_empfaenger=$email_empfaenger.$empfaenger[$i];
      }

      mail ($email_empfaenger,.....);

      anstatt $email_epmfaenger=$email_empfaenger. kannst du auch nur $email_empfaenger.= schreiben (Kurzform).
      Schleife wird also durchgegangen und die eMail-Adresse wird immer mit einem Komma getrennt angehängt.

      Kommentar


      • #4
        Das ist ein bisken umständlich:

        for ($i=0; $i<count($empfaenger); $i++){
        if ($i>0) $email_epmfaenger=$email_empfaenger.",";
        $email_empfaenger=$email_empfaenger.$empfaenger[$i];
        }

        kürzer und wesentlich schneller ist:

        $email_empfaenger = implode (',',$empfaenger);
        mein Sport: mein Frühstück: meine Arbeit:

        Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

        Kommentar


        • #5
          Danke an alle! :-)

          Hallo und danke an Euch alle, die Ihr Euch die Mühe gemacht und mir geholfen habt.

          Dank Eurer Beiträge hab ich's endlich geblickt!

          Viele Grüße
          Olli

          Kommentar

          Lädt...
          X