mail() mit for()

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

  • mail() mit for()

    Hi @ all

    Ich bin an einem Newsletterscript dra, was auch soweit funtz; ausser-

    Mit folgendem Script wird das Mail verschickt allerdings 3 mal an die selbe (erste) Adresse.
    Die meldugen im if danach kommen richtig- alle Mailadressen schön aufgelistet.

    Es sollte aber an jede Adresse in der Schlaufe versendet werden!

    Weis jemand Rat?

    PHP-Code:
    $user_mail "$inhalt[0]";
    $user_mail1 "newsletter@$inhalt[3]";
    $mail_betreff "$nl_betreff_neu";
    $mail_body    stripslashes(($nachricht));

    $headers  "MIME-Version: 1.0\r\n";
    $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"

    $headers .= "From: $inhalt[2] <$mail> \r\n";
    $headers .= "X-Mailer: PHP "phpversion();

    $abfrage_nl mysql_query ("SELECT * FROM $tab_newsletter 
    where status='aktiv' order by id_newsletter asc"
    );
    while (
    $row mysql_fetch_array ($abfrage_nl)) 
    {
    $mail_users[] = $row["email"];
    }
    for (
    $i=0;$i<count($mail_users);$i++)
    {
    $headers .= "Bcc: $mail_users[$i]\r\n";
    $res mail ($user_mail1$mail_betreff$mail_body$headers);
        if (
    $res)
        {
    echo<<<ABC
    $mail_users[$i]&nbsp;&nbsp;erfolgreich gesendet.<br>
    ABC;
        }
    else
        {
    echo<<<ABC
    $mail_users[$i]&nbsp;&nbsp;nicht gesendet.<br>
    ABC;
        }

    Zuletzt geändert von rönee; 17.01.2005, 21:52.

  • #2
    Weil du immer an $user_mail1 sendest...?
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      Nein, user $user_mail1 ist keine gültige E-Mailadresse.

      Mir geht es nur um das senden des headers mit BCC

      PHP-Code:
      $headers .= "Bcc: $mail_users[$i]\r\n" 

      Kommentar


      • #4
        wie wär's mal mit einem BCC:-header, hinter dem alle adressen aufgelistet werden, anstatt jeweils einem BCC: für jede mailadresse ...?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Habe ich auch schon gehabt, leider kann ich mit dieser Variante (BCC) nur gerade 2 miteinander versenden, bei 3 und mehreren sendet er gar nichts.

          Kommentar


          • #6
            Original geschrieben von rönee
            Habe ich auch schon gehabt, leider kann ich mit dieser Variante (BCC) nur gerade 2 miteinander versenden, bei 3 und mehreren sendet er gar nichts.
            Wie sieht der generierte Header nach 5 eMail Adressen aus und warum kann ich in jedem eMail Proggi Dutzende von eMail-Addys eintragen ?

            Weil das Protokoll keinen Fehler hat
            [color=blue]MfG Payne_of_Death[/color]

            [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
            [color=red]Merke:[/color]
            [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

            Murphy`s Importanst LAWS
            Jede Lösung bringt nur neue Probleme
            Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
            In jedem kleinen Problem steckt ein großes, das gern raus moechte.

            Kommentar


            • #7
              He Payne leider verstehe ich Deinen Einwand nicht so recht.

              Mein Bcc-Header sieht wie folgt aus.

              Wird erfolgreich versandt
              PHP-Code:
              $headers .= "Bcc: [email]mail1@mail.com[/email],mail2@mail.com\r\n" 

              Wird nicht versendet!
              PHP-Code:
              $headers .= "Bcc: [email]mail1@mail.com[/email],mail2@mail.com,mail3@mail.com\r\n" 
              Und hier das ganze Script.
              Zuerst stelle ich die Bcc Adressen zusammen
              PHP-Code:
              $abfrage_nl mysql_query ("SELECT * FROM $tab_newsletter
              where status='aktiv' order by id_newsletter asc"
              );
              while (
              $row mysql_fetch_array ($abfrage_nl)) 
              {
              $mail_user[] = $row["email"];
              }
              $nl_send_to implode(","$mail_user); 
              Und so versende ich das Mail
              PHP-Code:
              $user_mail_fake "newsletter@";
              $mail_betreff "$nl_betreff";
              $mail_body    stripslashes(($nachricht));

              $headers .= "From: $inhalt[2] <$mail> \r\n";
              $headers .= "Bcc: $nl_send_to\r\n";

              $headers  "MIME-Version: 1.0\r\n";
              $headers .= "Content-type: text/html; charset=iso-8859-1\r\n"
              $headers .= "X-Mailer: PHP "phpversion();


              $res mail ($user_mail_fake$mail_betreff$mail_body$headers); 
              Zuletzt geändert von rönee; 17.01.2005, 21:52.

              Kommentar


              • #8
                ich habe auch mal einen Newsletter gemacht, allerdings habe ich
                statt
                PHP-Code:
                $nl_send_to implode(","$mail_user); 
                PHP-Code:
                $nl_send_to implode(", "$mail_user); 
                benutzt.
                und das funktioniert ohne Probleme an 50 Leute gleichzeitig

                Kommentar


                • #9
                  Danke für den Tipp. Aber leider verhält es sich bei mir gleich mit oder Ohne zusätzlichen Abstand.

                  Weiss nicht mehr weiter!!

                  Könnte es am Server liegen?
                  Zuletzt geändert von rönee; 15.01.2005, 18:39.

                  Kommentar


                  • #10
                    Ja, es scheint am Server zu scheiter. Auf einem anderen Server funtzt es wunderbar!

                    Die PHP Version ist auf beiden 4.3.10

                    Kann es aus "Spamschutz-Gründen" kasriert worden sein?
                    Ich werde wohl mal ein Mail an den Betreiber senden.

                    Kommentar


                    • #11
                      Original geschrieben von rönee
                      Kann es aus "Spamschutz-Gründen" kasriert worden sein?
                      Ich werde wohl mal ein Mail an den Betreiber senden.
                      Es kann auch einfach am sendmail oder was auch immer dein "Betreiber" benutzt liegen....
                      schonmal mit einem BCC-Header pro Adresse versucht?

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar


                      • #12
                        BCC Header Pro Adresse? Sagt mir nichts!

                        Mein Betreiber hat sich der Sache schon angenommen. Danke

                        Kommentar


                        • #13
                          Original geschrieben von rönee
                          BCC Header Pro Adresse? Sagt mir nichts!
                          BCC: Adresse@host.de
                          BCC: adresse@host.de

                          usw., also nicht alle hinter einem!

                          Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                          bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                          Wie man Fragen richtig stellt

                          Kommentar


                          • #14
                            http://www.php-resource.de/forum/sho...threadid=47906

                            Kommentar


                            • #15
                              hm? Manchmal ist es intelligent auch etwas Text zu verfassen, damit auch der Dümmste weiß, was davon gemeint ist...

                              Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                              bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                              Wie man Fragen richtig stellt

                              Kommentar

                              Lädt...
                              X