Peter: Newsletter versenden Problem

Hallo,

Die eMailadressen stehen in der MYSQL-Datenbank.
Ich möchte jede Mail personalisiert absenden und nicht per BCC, da am ende des Textes der Hinweis zum Abmelden des Newsletters stehen soll.

Als Test habe ich das mal so gemacht:

$result = mysql_query("SELECT * " . "  FROM $tabelle " . " WHERE aktiv = '1' ");

if ($count = mysql_num_rows($result)) {

for($i = 0; $i < $count; $i++){

$temp_email = mysql_result($result, $i, "mail");
$num = mysql_result($result, $i, "nr");

$nl_text .= "Besuchen Sie den untenstehenden Link, falls Sie dieses Newsletter nicht mehr erhalten möchten:\nhttp://domain.de/news.php?action=delete&nr=$num\n";

$header= "From: ".$from."\n";
      $header .= "X-Mailer: $xmailer\n";
      $header .= "Content-Type: text/plain";
      @mail($temp_email, $betreff, $nl_text, $header);

}
}
echo "Der Newsletter wurde an $count Personen geschickt.";

Es funzt auch soweit. Beim ersten Empfänger sieht es so aus:

Hallo,

bla bla

und tschüss

Besuchen Sie den untenstehenden Link, falls Sie dieses Newsletter nicht mehr erhalten möchten:
http://domain.de/news.php?action=del&nr=1

Aber beim zweiten Empfänger sieht es so aus:

Hallo,

bla bla also doppelter Absatz

und tschüss

Besuchen Sie den untenstehenden Link, falls Sie dieses Newsletter nicht mehr erhalten möchten:
http://domain.de/news.php?action=del&nr=1

Besuchen Sie den untenstehenden Link, falls Sie dieses Newsletter nicht mehr erhalten möchten:
http://domain.de/news.php?action=del&nr=2

Der zweite Empfänger erhält also den Hinweis doppelt und hat einen größeren Absatz.

Was habe ich falsch gemacht?
Ich bin für jeden Tipp dankbar!

Grüße, Peter

  1. Wo möchtest Du deine Antwort haben?
    Hier oder da http://php4-forum.de/forum.php3?nr=230940&site=0

    Dein verhalten ist ziemlich unsozial.
    Sag wenigstens bescheit wenn du in mehr als einem Form die Selbe Frage stellst.

    1. Schau dich mal in den spiegel an!

      1. Du liest in einem Forum eine Frage und hast eine passende Antwort. Da die Lösung aber nicht mit zwei Sätzen zu formulieren ist, gibst Du Dir richtig Mühe und schreibst einen kleinen Roman. Nachdem Du Deine Antwort abgeschickt hast, klickst Du in ein anderes Forum, siehst die gleiche Frage und musst feststellen, daß schon jemand anders die Frage beantwortet hat und das Problem gelöst ist.

        Da kommt Freude auf, wenn man sich umsonst die Arbeit gemacht hat! Deshalb sind Crosspostings meiner Meinung nach, ich sag's mal vorsichtig, unsozial.

        1. Hi,

          [...]

          egal ob das jetzt unhoeflich, unsozial, oder sonst was ist, du brachst deshalb noch lang nicht die </faq/> verletzen und so unhoeflich sein und ohne irgendwelche Begruessung zu posten.
          Des weiteren finde ich "Anonym"-Postings ziemlich feige...

          mfg
          -WebViper-

          --
          ss:| zu:] ls:/ fo:) de:> va:) ch:| sh:} n4:) rl:° br:& js:| ie:| fl:) mo:|
          Linux - life is too short for reboots!
          This is unix land.
          In quiet nights you can hear windows machines reboot.
          1. Hallo,

            Weil wir gerade bei diesem Thema sind: ich finde Regeln sind nur dann sinnvoll, wenn man den, der sie "verletzt", auch zur Rechenschaft gezogen werden kann. Dies ist in einem Forum wie diesem hier leider nicht möglich, da jeder, ohne Anmeldung posten kann, was und wie er will...
            Fazit: Wenn man Regeln durchsetzen will, muss man auch wissen, wer was falschgemacht hat...

            _____
            MfG,
            seppl

            --
            "Der kluge Mensch macht nicht jeden Fehler selbst - Er lässt auch anderen eine Chance" - W.Churchill
            1. Hallo,

              ich finde man hat auch eine moralische Verpflichtung. Wenn man sich nur an Regel hält damit man keine auf den Deckel bekommt ist diese Moral allerdings nicht sehr ausgeprägt.

              Grüße,
              Andre

              1. Hallo,

                hat den jeder eine "ausgeprägte" Moral?

                _____
                MfG,
                seppl

                --
                "Der kluge Mensch macht nicht jeden Fehler selbst - Er lässt auch anderen eine Chance" - W.Churchill
                1. Hallo,

                  hat den jeder eine "ausgeprägte" Moral?

                  ist halt meine Utopie von einer idealen Welt ;-)

                  Grüße,
                  Andre

                  1. Hallo,

                    leider nur ne utopie

                    _____
                    MfG,
                    seppl

                    --
                    "Der kluge Mensch macht nicht jeden Fehler selbst - Er lässt auch anderen eine Chance" - W.Churchill
                    1. Hi,

                      trotzdem sollte man versuchen die regeln einzuhalten. Ich finde es ist das mindeste was man tun kann... ueberlegt doch mal... ihr bekommt dieses Forum, das zugehoerige Archiv, SelfHTML, und die Hilfe von echten Experten. Tut es so weh, da wenigstens ne Begruessung zu bringen und die paar regeln einzuhalten???

                      mfg
                      -WebViper-

                      --
                      ss:| zu:] ls:/ fo:) de:> va:) ch:| sh:} n4:) rl:° br:& js:| ie:| fl:) mo:|
                      Linux - life is too short for reboots!
                      This is unix land.
                      In quiet nights you can hear windows machines reboot.
        2. Hallo,

          Wenn ihr hier eure Spiele mit den Wiederholungen und doppeltes Posten von Texten (wie: http://php4-forum.de/forum.php3?nr=231006&site=0 etc.) weiter fortsetzt werde ich den gesamten Thread löschen.

          Grüße
          Thomas

  2. Hallo Peter,

    for($i = 0; $i < $count; $i++){

    ...

    $nl_text .= "Besuchen Sie den untenstehenden Link, falls Sie dieses Newsletter nicht mehr erhalten möchten:\nhttp://domain.de/news.php?action=delete&nr=$num\n";

    ...

    @mail($temp_email, $betreff, $nl_text, $header);

    Da Du den Abmeldetext innerhalb der for-Schleife an Deinen Text dranhängst, bekommst Du den Text beim ersten Durchlauf einmal, beim zweitenmal zweimal, beim dritten mal dreimal, ...

    Ich vermute, dass gleiche Gründe für die anderen Dopplungen verantwortlich sind. Das kann ich allerdings nicht beurteilen, da Du den Quelltext nicht gepostet hast.

    Freundliche Grüsse,

    Vinzenz

  3. Hallo Peter,

    ich bin mir jetzt nicht sicher, aber ich denk es liegt hier drann:

    $nl_text .= " [...]

    Mit dieser Schreibweise setzt (ergänzt) du jeweils den letzten Eintrag in der Variablen $nl_text. Wenn du den Punkt vor dem = weg läßt sollte es meiner Meinung nach funktionieren.

    Grüße,
    Andre

  4. Moin!

    $nl_text .= "Besuchen Sie den untenstehenden Link, falls Sie dieses Newsletter nicht mehr erhalten möchten:\nhttp://domain.de/news.php?action=delete&nr=$num\n";

    Cool, so einfach kann man deine Adressdatenbank löschen? Einfach als nr-Parameter alle Zahlen von 1 bis X durchgehen. Klasse!

    - Sven Rautenberg