Ilja: mail funktion

yo,

seit einiger zeit geht meine mail funktion in php nicht mehr. das liegt meiner erkenntnis daran, dass aus sicherheitsgründen (injektions) in php der fünfte parameter im safe mode deaktiviert ist. also stehen mir wohl nur die ersten vier zur verfügung.

mail($empfaenger, $betreff, $text, $from)

gebe ich nur eine empfänger adresse an, funktioniert die funktion. nun habe ich aber das problem, dass ich an cirka 100 adressen eine e-mail verschicken will. nur komme ich leider nicht drauf, wie ich das nun am besten anstelle, bzw. wie die syntax ($empfaenger) dafür aussehen muss. jemand einen tipp ?

Ilja

  1. hi,

    gebe ich nur eine empfänger adresse an, funktioniert die funktion.
    nun habe ich aber das problem, dass ich an cirka 100 adressen eine e-mail verschicken will. nur komme ich leider nicht drauf, wie ich das nun am besten anstelle, bzw. wie die syntax ($empfaenger) dafür aussehen muss. jemand einen tipp ?

    RTFMchen ;-)
    "Mehrere Empfänger können angegeben werden, indem ein Komma zwischen die Adressen in to gesetzt wird."

    Aber das ist natürlich schlechter Stil - besser wäre es wohl, die Empfängeradressen als BCC anzugeben. Dann kommen sie natürlich in den vierten Parameter additional_headers rein.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. yo

      "Mehrere Empfänger können angegeben werden, indem ein Komma zwischen die Adressen in to gesetzt wird."

      wenn ich das richtig verstanden habe:

      mail($empfaenger, $betreff, $text, "From: email@test.de\r\nBcc: mail1@example.com, mail2@example.com, mail3@example.com\r\n")

      Aber das ist natürlich schlechter Stil - besser wäre es wohl, die Empfängeradressen als BCC anzugeben. Dann kommen sie natürlich in den vierten Parameter additional_headers rein.

      nun ja, es war ja vorher über BCC, aber ging dann irgendwann nicht mehr...

      Ilja

      1. yo,

        bekomme es irgendwie nicht hin. wenn ich die emails "per hand" eintrage, dann ist der versand erfoglreich.

        mail("", "test", $text, "From: webmaster@creatorspath.com\r\nBcc: webmaster@creatorspath.com, ikrischer@web.de, lorfinduil@gmx.de\r\n");

        wenn ich aber nun die variable einbinde, in der alle e-mail adressen stehen, die ich vorher aus der datenbank gelesem habe, dann passiert nichts, obwohl der string korrekt aussieht, sprich kein komma am ende und auch kein leerzeichen.

        mail("", "test", $text, "From: webmaster@creatorspath.com\r\nBcc: ".$targets."\r\n");

        ich bin ein wenig ratlos...

        Ilja

        1. hi,

          bekomme es irgendwie nicht hin. wenn ich die emails "per hand" eintrage, dann ist der versand erfoglreich.

          mail("", "test", $text, "From: webmaster@creatorspath.com\r\nBcc: webmaster@creatorspath.com, ikrischer@web.de, lorfinduil@gmx.de\r\n");

          wenn ich aber nun die variable einbinde, in der alle e-mail adressen stehen, die ich vorher aus der datenbank gelesem habe, dann passiert nichts, obwohl der string korrekt aussieht, sprich kein komma am ende und auch kein leerzeichen.

          testausgabe hat ergeben ...?

          mail("", "test", $text, "From: webmaster@creatorspath.com\r\nBcc: ".$targets."\r\n");

          $test = "From: webmaster@creatorspath.com\r\nBcc: ".$targets."\r\n";
          echo '#'.$test.'#';

          • sieht in der quelltextanzeige wie aus?

          gruß,
          wahsaga

          --
          /voodoo.css:
          #GeorgeWBush { position:absolute; bottom:-6ft; }
          1. yo,

            ok, wieder von der arbeit zuhause angekommen. ich kann das problem auf die ausgabe des strings eingrenzen können. immer wenn ich die daten aus der datenbank in den string packe und dann in die mail funktion einbaue, klappt es nicht. immer wenn ich ein paar email adressen per hand in die email funktion einbaue, dann geht es.

            testausgabe hat ergeben ...?

            die ausgabe des strings sah gut aus, alle e-mail adressen ca. 100 und am ende kein komma.

            echo '#'.$test.'#';

            • sieht in der quelltextanzeige wie aus?

            #From: webmaster@creatorspath.com Bcc:Minng@eail.de, Ming@mail.de, tester@mail.de #

            habe es testweise mal auf ein paar emails begrenzt. auch bekomme ich bei dem sttring false zurück, sprich er konnte die funktion nicht ausführen, aber warum ?

            Ilja

            1. Hallöchen!

              testausgabe hat ergeben ...?
              echo '#'.$test.'#';

              #From: webmaster@creatorspath.com Bcc:Minng@eail.de, Ming@mail.de, tester@mail.de #

              Da haben wir's doch schon: Wo ist denn der Zeilenumbruch ("\r\n") vor dem Bcc: geblieben? Und der am Ende der zusätzlichen Headerzeilen?  ;-)
              Kein Wunder, dass die angehängten bcc-Empfänger alle ignoriert werden...

              Good luck,

              Martin

              1. yo,

                Da haben wir's doch schon: Wo ist denn der Zeilenumbruch ("\r\n") vor dem Bcc: geblieben? Und der am Ende der zusätzlichen Headerzeilen?  ;-)

                sehe ich anders, es erklärt zum einen nicht, warum es ohne den string klappt, schließlich ist die ausgabe mit echo die gleiche. zum anderen gibt echo die zeichen wohl als ein leerzeichen aus.

                Ilja

  2. yo,

    ich habe den fehler noch nicht gefunden, da ich zur zeit wenig zeit habe. konnte ihn aber eingrenzen. es muss am inhalt einer e-mail adresse liegen, zwischen dem 85 und 100 datensatz. ab dann funktieniert die mail funktion nicht mehr. wenn ich wieder zeit finde, werde ich versuchen, die email ausfindig zu machen. auf den ersten blick war nichst zu sehen.

    trotzdem noch mal dank an wahsaga und martin für die hilfe.

    Ilja