Ankündigung

Einklappen
Keine Ankündigung bisher.

Versand einer Mail an zwei Empfänger

Einklappen

Neue Werbung 2019

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

  • Versand einer Mail an zwei Empfänger

    hi leute,

    ich möchte per php eine mail an zwei empfänger senden.
    Bisher sieht der code so aus:

    <?php
    $messaeg = "";

    if(isset($_POST['submit']) and $_POST['submit'] == "Absenden") {
    $error = 0;
    $success = 0;
    if(trim($_POST['name']) == "") {
    $error = 1;
    }
    if(trim($_POST['firstname']) == "") {
    $error = 1;
    }
    if(trim($_POST['plz']) == "") {
    $error = 1;
    }
    if(trim($_POST['age']) == "") {
    $error = 1;
    }
    if(trim($_POST['email']) == "") {
    $error = 1;
    }
    if(trim($_POST['id']) == "") {
    $error = 1;
    }
    if(trim($_POST['studienfach']) == "") {
    $error = 1;
    }
    if(trim($_POST['semester']) == "") {
    $error = 1;
    }
    if(trim($_POST['besuch']) == "") {
    $error = 0;
    }
    if(trim($_POST['info']) == "") {
    $error = 0;
    }
    if(trim($_POST['zimmer']) == "") {
    $error = 0;
    }
    if(trim($_POST['plan']) == "") {
    $error = 0;
    }
    if(trim($_POST['feiern']) == "") {
    $error = 0;
    }
    if(trim($_POST['betreff']) == "") {
    $error = 0;
    }

    if($error == 1) {
    $message = "<p class=\"error\">Du musst alle Pflichtfelder (*) ausfüllen.</p>";
    } else {
    $infoemail = "ex@ample.de";
    $subject = "Betreff:<br />\n<br />\n";
    $content = "Angaben zur Person:<br />\n<br />\n";
    $content .= "Name: ".$_POST['name']."<br />\n";
    $content .= "Vorname: ".$_POST['firstname']."<br />\n";
    $content .= "PLZ/Ort: ".$_POST['plz']."<br />\n";
    $content .= "Alter: ".$_POST['age']."<br />\n";
    $content .= "E-Mail: ".$_POST['email']."<br />\n";
    $content .= "Telefon: ".$_POST['phone']."<br />\n";
    $content .= "Du bist: ".$_POST['id']."<br />\n";
    $content .= "Universit&auml;t: ".$_POST['uni']."<br />\n";
    $content .= "Studienfach: ".$_POST['studienfach']."<br />\n";
    $content .= "Semester: ".$_POST['semester']."<br />\n";
    $content .= "Ich möchte euch besuchen: ".$_POST['besuch']."<br />\n";
    $content .= "Ich wünsche weitere Informationen: ".$_POST['info']."<br />\n";
    $content .= "Ich suche ein Zimmer: ".$_POST['zimmer']."<br />\n";
    $content .= "Ich möchte einen Stadtplan von München: ".$_POST['plan']."<br />\n";
    $content .= "Ich möchte Biertrinken und Feiern: ".$_POST['feiern']."<br />\n";
    $content .= "Betreff: ".$_POST['betreff']."<br />\n";
    $content .= "Nachricht: ".$_POST['other']."<br />\n";

    $answer = "Hallo ".$_POST['firstname'].",<br />\n<br />\n";
    $answer .= "vielen Dank f&uuml;r Deine E-Mail an uns.<br />\n";
    $answer .= "Wir werden uns in K&uuml;rze bei Dir melden.<br />\n<br />\n";
    $answer .= "Viele Gr&uuml;&szlig;e aus *<br />\n";
    $answer .= "*\n";


    // für HTML-E-Mails muss der 'Content-type'-Header gesetzt werden
    $header = 'MIME-Version: 1.0' . "\r\n";
    $header .= 'Content-type: text/html; charset=utf-8' . "\r\n";

    // zusätzliche Header
    $header .= 'From: *' . "\r\n";

    if(mail($infoemail, $subject, $content, $header)) {
    //Mail an den Bewerber zur Bestätigung
    mail($_POST['email'], $subject, $answer, $header);
    $success = 1;
    $message = "<p>Deine E-Mail wurde erfolgreich an uns gesendet. Du wirst in wenigen Minuten auch eine Bestätigungsnachricht erhalten.</p>";
    } else {
    $message = "<p class=\"error\">Der Versand Deiner E-Mail hat leider nicht funkioniert. Bitte schreibe eine E-Mail direkt an *</p>";
    }
    }
    }


    ?>

    mit "," trennen und eine zweite einfügen funktionierte nicht

    schon mal vielen dank


  • #2
    Möchtest Du x einzelne emails versenden oder mehrere Empfänger per cc oder mehrere Empfänger per bcc eintragen?

    Kommentar


    • #3
      Hallo Renovatio,
      Zitat von Renovatio Beitrag anzeigen
      mit "," trennen und eine zweite einfügen funktionierte nicht
      Was heißt "funktioniert" nicht? Und wie genau sah dein Code dazu aus?

      Im Manual findest du folgende Angabe:
      Parameter-Liste

      to Empfänger (einer oder mehrere) der E-Mail.
      Das Format dieses String muss nach » RFC 2822 erfolgen. Beispiele:
      • benutzer@example.com
      • benutzer@example.com, benutzer2@example.com
      • Name <benutzer@example.com>
      • Name <benutzer@example.com>, Name2 <benutzer2@example.com>
      und weiter unten auch ein Beispiel mit mehreren Empfängern...


      Ganz unabhängig vom Problem: Ich würde dir empfehlen eine fertige Lösung wie SwiftMailer oder PhpMailer zu verwenden - dann musst du dich nicht mehr um das ganze header-Geraffel kümmern
      Create your own quiz show.

      Kommentar


      • #4
        na entweder an 2 emfpänger versenden, oder mit CC
        Zitat von David Beitrag anzeigen
        Möchtest Du x einzelne emails versenden oder mehrere Empfänger per cc oder mehrere Empfänger per bcc eintragen?

        Kommentar


        • #5
          das hier:
          PHP-Code:
          if(mail($infoemail$subject$content$header)) { 
          sendet eine mail an ex@ample.de - willst du das wirklich?


          Wenn du die zusammengebaute mail doppelt senden willst, dann
          kannst du das so codieren:

          statt: mail($_POST['email'], $subject, $answer, $header);

          PHP-Code:
          $empf1 $_POST['email'];
          $empf2 "zweiter@empfaenger.de";
          mail($empf1$subject$answer$header);
          mail($empf2$subject$answer$header); 
          Sind die Plausibilitätsprüfungen oben so richtig?
          Du setzt $error auf 1 dann, wenn Formularfelder leer sind.
          Später setzt du $error wieder auf 0, wenn andere Felder leer sind.
          PHP-Code:
          if ($var != 0) {
            
          $var 0;

          Kommentar


          • #6
            agrajag hat doch schon alles gesagt. Zweifacher Aufruf der mail Funktion ist Quatsch.

            Die obige Validierung ist nicht nur unübersichtlich, sondern auch (oder gerade deshalb) fehlerhaft. Überlegmal was hier passieren könnte:
            PHP-Code:
            ...
            if(
            trim($_POST['semester']) == "") {
            $error 1;
            }
            if(
            trim($_POST['besuch']) == "") {
            $error 0;
            }
            ...
            if(
            $error == 1) {

            weitere Anmerkungen:

            -Für Code hier im Forum bitte stets die [php] Tags verwenden.
            -Als Multimailer (Newsletter o.ä.) ist die mail Funktion nicht geeignet.
            -Im Scriptschnipsel Forum findest Du Hinweise, wie die Message besser und übersichtlicher aufbereitet werden kann.
            --

            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


            --

            Kommentar


            • #7
              = Zweifacher Aufruf der mail Funktion ist Quatsch.
              Wenn man ins Empfängerfeld mehrere Adressen durch Komma getrennt schreibt, sieht dann nicht jeder Empfänger die andere Emailadresse?

              Als Multimailer (Newsletter o.ä.) ist die mail Funktion nicht geeignet.
              Mit welchen Begriffen google ich am Besten, um eine bessere Lösung als mail() zu finden? Oder kannst du einen Link aus dem Ärmel schütteln? Das interessiert mich sehr.
              PHP-Code:
              if ($var != 0) {
                
              $var 0;

              Kommentar


              • #8
                Zitat von Wolla Beitrag anzeigen
                Wenn man ins Empfängerfeld mehrere Adressen durch Komma getrennt schreibt, sieht dann nicht jeder Empfänger die andere Emailadresse?
                na entweder an 2 emfpänger versenden, oder mit CC
                will er ja auch

                Kommentar


                • #9
                  Zitat von Wolla Beitrag anzeigen
                  Mit welchen Begriffen google ich am Besten, um eine bessere Lösung als mail() zu finden?
                  z.B. phpmailer
                  Gruss
                  L

                  Kommentar


                  • #10
                    z.B. phpmailer
                    Ich hatte mir die phpmailer-Klasse schon mal runtergeladen und mir die Funktionen angeschaut. Man kann damit fremde SMTP-Server ansprechen, was allerdings bei der Aussendung einer Liste mit ein paar hunderttausend Mails eher scheitern dürfte.

                    Will man aber über den eigenen Mailserver aussenden, dann wird das auch mit mail() realisiert. Ich hatte die Einwendung oben so verstanden, dass es noch andere Anweisungen gibt, die vorzuziehen sind.
                    PHP-Code:
                    if ($var != 0) {
                      
                    $var 0;

                    Kommentar


                    • #11
                      phpmailer kann dir auch ganz einfach ein attachment an die mail hängen, etc. das kann mail() zwar auch, aber nicht einfach. phpmailer ist viel kofortabler und du kannst wie es auch in diesem thread gewollt ist, ganz einfach CC's und BCC's hinzufügen und musst dich um keine header mehr kümmern...

                      Kommentar

                      Lädt...
                      X