Chris: Newsletter

Hi zusammen,

Hab mir nen Newsletter geschrieben der soweit alle aufgaben erfüllt ausser die mails versenden*g*

Hier der auszug vom Script:

if($senden)
{

$mitglieder = fopen("user.dat","a+");
$mitglieder=fread($mitglieder,1024);
$empfaenger=explode("|",$mitglieder);

$tag = date("d.m.Y");

$betreff = "Newsletter";

$header = "MIME-Version 1.0\r\n".
                  "Content-type: text/html; charset=iso-8859-15\r\n".
                  "From : Webmaster@Dynamicwebpower.de";

for($i=0;$i<10;$i++)
{
 mail($empfaenger[$i],$betreff,$text,$header);
}

}

die dazugehörige user.dat sieht so aus:

TEST@TEST.com|
TEST@TEST.com|
TEST@TEST.com|

Hoffe das mir jemand sagen kann was ich falsch mache!?

Danke an alle...

MfG chris

  1. Hab vergessen dabei zusagen das mir das Script keinen Fehler zurück gibt...

    MfG Chris

  2. Hi.

    Mein Vorschlag: (nicht getestet)

    if($senden)
      {

    $mitglieder = file("user.dat");

    $tag = date("d.m.Y");

    $betreff = "Newsletter";

    $header = "MIME-Version 1.0\r\n".
                       "Content-type: text/html; charset=iso-8859-15\r\n".
                       "From : Webmaster@Dynamicwebpower.de";

    while(list($i,$empfaenger) = list($mitglieder))
           mail($empfaenger[$i],$betreff,$text,$header);

    }

    die dazugehörige user.dat sieht so aus:

    TEST@TEST.com
    TEST@TEST.com
    TEST@TEST.com

    Ansonsten empfehle ich, zum Debuggen sich die Variablen zwischendrinnen per echo/print bzw. Arrays per print_r() anzeigen zu lassen, so kann man feststellen, ob der Inhalt stimmt.

    MfG, Arne P.

    1. Ups, ein Fehler:

      while(list($i,$empfaenger) = list($mitglieder))
             mail($empfaenger[$i],$betreff,$text,$header);

      muß heißen

      while(list($i,$empfaenger) = list($mitglieder))
            mail($empfaenger,$betreff,$text,$header);

      MfG, Arne P.

      1. Hi,

        Habs eingebaut, und hat geklappt..

        Danke

        MfG Chris

      2. Ups, ein Fehler:

        while(list($i,$empfaenger) = list($mitglieder))
               mail($empfaenger[$i],$betreff,$text,$header);

        muß heißen

        while(list($i,$empfaenger) = list($mitglieder))
              mail($empfaenger,$betreff,$text,$header);

        Da steckt noch einer:

        while(list($empfaenger,$i) = each($mitglieder))
                    mail($empfaenger,$betreff,$text,$header);

        Klappen tuts damit aber leider nicht )-;

        Neuer Versuch:

        if($senden)
        {

        $mitglieder = fopen("user.dat","r");
        $mitglieder=fread($mitglieder,1024);
        $empfaenger=explode("|",$mitglieder);

        $z=count($empfaenger);

        $tag = date("d.m.Y");

        $name = "Webmaster";
        $email = "Webmaster@DynamicWebPower.de";
        $betreff = "Newsletter";

        $header = "From: '$name', '$email'\n";

        for($i=1;$i<$z;$i++)
        {
         echo "($empfaenger[$i] , $betreff , $text , $header)";
        }

        echo "Es wurden $z Mitglieder angeschrieben!";

        }

        Im test mit echo gibt mir das Script den Header Samt informationen"empfaenger,betreff,text,header" zurück..Also alles richtig würd ich sagen, problem ist aber sobald ich das echo"" gegen mail() austausche und das ganze auf den Sever lade läuft das Script durch ohne Fehler, aber die eMails kommen nicht an..)-;

        MfG, Chris

        MfG, Arne P.