email: blind copy

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

  • email: blind copy

    Servus,

    ich habe in der Datenbank alle Daten samt Email-Adressen gespeichert.

    Ich möchte nun, dass man per Formular eine Email an alle schreiben kann, wobei die Email-Adressen nach aussen geheim bleiben sollten (Blind copy). Wie mache ich das? Ich kann höchstens eine auslesen.

    PHP-Code:
    $headers .= "Bcc:" $empfaenger "\r\n"
    Vielen Dank.
    Hochachtungsvoll
    pingzaong

  • #2
    Zieh dir alle Adresse, an die per BCC geschickt werden soll aus der DB und verknüpfe die zu einem String mit "," separiert.
    it's not a bug,
    it's a feature!

    Kommentar


    • #3
      Und wie mache ich das am besten?

      implode muss falsch sein, resp. ich brauche es danach.
      Hochachtungsvoll
      pingzaong

      Kommentar


      • #4
        implode muss falsch sein, resp. ich brauche es danach.
        Was veranlasst diese Annahme?
        Die Regeln | rtfm | register_globals | strings | SQL-Injections | [COLOR=silver][[/COLOR][COLOR=royalblue]–[/COLOR][COLOR=silver]][/COLOR]

        Kommentar


        • #5
          PHP-Code:
          $result mysql_query("SELECT * FROM adressen");
          while (
          $row mysql_fetch_array($result)) {

          $empfaenger = array($row[email]);    
          $empfaengerString implode(",",$empfaenger);    
          }

          echo 
          $empfaengerString
          es kommt jeweils nur der letzte eingegebene Datensatz. Vielleicht kann mir jemand auf die Sprünge helfen. Vielen Dank.

          PHP-Code:
          $headers .= "Bcc:" $empfaengerString "\r\n"
          Hochachtungsvoll
          pingzaong

          Kommentar


          • #6
            Klar kommt nur der letzte Datensatz, da du immer nur den aktuellen ausliest und in eine Variable packst.
            Du musst in der Schleife ein Array erzeugen und implode nach der Schleife benutzen!

            Kommentar


            • #7
              Ich kann dir hier wiederum nur den PHPMailer ans Herz legen, damit geht sowas ziemlich einfach und funktioniert bei mir hervorragend! BCC ist damit dann auch kein Problem sowie viele andere Features!
              Liebe Grüße,
              SteKoe!

              PHP Tutorials
              Peter Kropff | Quakenet | Schattenbaum.net

              Kommentar


              • #8
                Original geschrieben von stekoe2000
                Ich kann dir hier wiederum nur den PHPMailer ans Herz legen, damit geht sowas ziemlich einfach und funktioniert bei mir hervorragend! BCC ist damit dann auch kein Problem sowie viele andere Features!
                selbst wenn man alles selbst schreibt ist es nicht viel schwieriger. aber der phpmailer ist wohl das komfortabelste. außerdem wieso das rad neu erfinden

                Kommentar


                • #9
                  PHP-Code:
                  $result mysql_query("SELECT * FROM adressen");
                  while (
                  $row mysql_fetch_array($result))
                  {
                     
                  $empfaenger = array($row[email]);    
                     
                  $empfaengerString implode(",",$empfaenger);    
                     
                  mail(); // parameter fehlen .. aber das bekommst du sicherlich auch alleine hin ;-)
                  // dann kann du auf ein array verzichten.

                  gruß
                  uzu
                  Gruß
                  Uzu

                  private Homepage

                  Kommentar


                  • #10
                    Original geschrieben von pingzaong

                    es kommt jeweils nur der letzte eingegebene Datensatz.
                    Du überschreibst ja bei jedem Durchgang die Variable (wie das $_Baker ja schon geschrieben hat). Wenn du den Code einrücken würdest, hättest du das wahrscheinlich auch gesehen.
                    PHP-Code:
                    $sql "
                        SELECT
                            email
                        FROM
                            adressen"
                    ;
                    $result mysql_query($sql) || die(mysql_error() . "<br />Querry: $sql<br />";
                    $empfaenger = array();
                    while (
                    $row mysql_fetch_array($result)) {
                        
                    $empfaenger[] = $row[email];     
                    }
                    $empfaengerString implode(","$empfaenger);   
                    echo 
                    $empfaengerString
                    Gruss
                    H2O

                    Kommentar


                    • #11
                      Das ist ja wohl ein selten dämlicher Code. Wenn ich ohnehin nur die Adresse haben will, kann ich auch direkt ein ordentliches SQL-Statemanet schreiben. Dann macht es wirklich überhaupt keinen Sinn ein einzelnes Element in ein neues Array zu schreiben, um das Array anschließend zu imploden! Darüberhinaus sollte mail() im Produktiveinsatz nicht benutzt werden - schon gar nicht, wenn man keine Ahnung hat. Und jede Mail auch noch einzeln raus schicken setzt dann dem Blödsinnscode wirklich das I-Tüpfelchen auf!

                      Sicherlich gut gemeint helfen zu wollen, aber so bitte nicht!

                      @TS: Setz dich mit phpMailer auseinander, das ist wesentlich komfortabler und wird dein Script wahrscheinlich auch weniger krude machen.

                      Edit: Ich bezieh mich natürlich auf den Code von UzuHassenichgesehen.
                      [FONT="Helvetica"]twitter.com/unset[/FONT]

                      Shitstorm Podcast – Wöchentliches Auskotzen

                      Kommentar


                      • #12
                        Original geschrieben von unset
                        Das ist ja wohl ein selten dämlicher Code. Wenn ich ohnehin nur die Adresse haben will, kann ich auch direkt ein ordentliches SQL-Statemanet schreiben. Dann macht es wirklich überhaupt keinen Sinn ein einzelnes Element in ein neues Array zu schreiben, um das Array anschließend zu imploden! Darüberhinaus sollte mail() im Produktiveinsatz nicht benutzt werden - schon gar nicht, wenn man keine Ahnung hat. Und jede Mail auch noch einzeln raus schicken setzt dann dem Blödsinnscode wirklich das I-Tüpfelchen auf!

                        Sicherlich gut gemeint helfen zu wollen, aber so bitte nicht!

                        @TS: Setz dich mit phpMailer auseinander, das ist wesentlich komfortabler und wird dein Script wahrscheinlich auch weniger krude machen.

                        Edit: Ich bezieh mich natürlich auf den Code von UzuHassenichgesehen.
                        ich habe nur den code von pingzaong abgeändert.
                        und mail ist die "einfachste" wahl, aber um MEINEN horizont zu erweitern werde ich mir mal den phpMailer angucken, der ist mir nämlich neu.

                        Gruß
                        Uzu
                        Gruß
                        Uzu

                        private Homepage

                        Kommentar


                        • #13
                          und mail ist die "einfachste" wahl, aber um MEINEN horizont zu erweitern werde ich mir mal den phpMailer angucken, der ist mir nämlich neu.
                          Das ist sicherlich die bester Lösung. Obwohl ich vermute, dass sich unset eher am Aufbau des Codes als am "nicht-verwenden" von phpMailer störte. Der Topicstarter wollte, dass er alle Email Adressen auliest und diesen dann eine BCC schicken will. Deine Version des Codes verschickt aber an jeden BCC User eine eigene Mail (weil mail() innerhalb der Schleife steht!)

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            stillschweigend zur kenntnis genommen
                            Gruß
                            Uzu

                            private Homepage

                            Kommentar


                            • #15
                              Fü stillschweigend hast du dann aber doch ganz schön viel gesagt. Und wirklich viel geändert hast du am Code ja nicht - außer einen mail()-Aufruf eingabaut. Und dazu noch geflunktert, denn obwohl du sagst, der TS braucht kein Array mehr, erstellt der Code immer noch zwei. Was meiner Meinung nach zwei zuviel sind.
                              [FONT="Helvetica"]twitter.com/unset[/FONT]

                              Shitstorm Podcast – Wöchentliches Auskotzen

                              Kommentar

                              Lädt...
                              X