Newsletterskript verschickt Mails mehrmals

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

  • Newsletterskript verschickt Mails mehrmals

    Hallo Leute,

    ich bin neu hier im Forum und hoffe hier an der richtigen Stelle zu posten (bitte nicht verteufeln, wenn das nicht der Fall ist). Es dreht sich um folgendes.

    Ich habe ein kleines Script geschireben, mit dem ich einen Newsletter an alle (Email)Einträge einer Tabelle schicken kann. Das funktioniert, jedoch kommen einige Einträge in der Tabelle mehrmals vor. Dies unterdrücke ich mittels DISTINCT in der SELECT-Abfrage. Ich habe die Abfrage unter phpmyadmin zuvor ausprobiert und alles lief glatt. Jetzt schreiben einige Leute mir, dass sie den Newsletter mehrmals erhalten haben (an die gleiche Adresse). Filtert DISTINCT Schreibweisen wie "Ulander@mail.de" und "ulander@mail.de" etwa nicht korrekt aus? Liegt es evtl. an meiner Schleife? Oder ist es evtl. ein Problem auf dem Server?

    Hier der Quelltext:
    <html>
    <head>
    <title>Newsletter</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body bgcolor="#000000" text="#FFFFFF" link="#FFFFFF" vlink="#FFFFFF" alink="#FFFFFF">
    <div align="center">
    <p> <font face="Arial Black">Newsletter erstellen</font><br>
    </p>
    <p><font face="Arial">Der Newsletter wurde wie folgt abgeschickt:</font><br>
    <br>
    PHP-Code:
    <?php 
    // Emailadressen aller Newsletterempfänger holen und in Variable schreiben
    $adr = @mysql_query("SELECT DISTINCT `email` FROM `newsletter`") or die;
    // Mailbetreff
    $Mailbetreff $_REQUEST['betreff'];
    // Newsletter-Daten per Email verschicken
    $Mailnachricht $_REQUEST['nachricht'];
    // Autotext, der an jede Email angehängt wird
    $Mailnachricht .= '--------------------------------------------------------------------------------
    Dieser Newsletter geht automatisch an alle
    Gästebucheinträge . Wenn Sie diesen Newsletter nicht mehr erhalten möchten, so können Sie ihn unter folgendem Link abbestellen: 
    [url]http://www.xyz.de[/url]
    --------------------------------------------------------------------------------'
    ;
    // header
    $absender "Absendername";
    $reply "info@Absender.de";
    $header 'From:' $absender "\n";
    $header .= 'Reply-To:' $reply "\n";
    // Email sooft jetzt verschicken, wie Emailadressen vorhanden, dadurch sieht niemand, wer im Verteiler ist
    while($adresse = @mysql_fetch_array($adr))
    {
    mail($adresse['email'], $Mailbetreff$Mailnachricht$header);
    }
    ?>
    <table width="60%" border="0" bgcolor="#666666">
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><div align="left"><strong><fontface="Arial">Von:</font></strong></div></td>
    <td><div align="left"><font face="Arial"><?php echo $absender; ?></font></div></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><div align="left"><strong><font face="Arial">An:</font></strong></div></td>
    <td><div align="left"><font face="Arial">
    PHP-Code:
    <?php 
    // Emailadressen aller Newsletterempfänger holen und in Variable schreiben
    $adr = @mysql_query("SELECT DISTINCT `email` FROM `newsletter`") or die;
                            
    while(
    $adress = @mysql_fetch_array($adr))
    {
     echo 
    $adress['email'].", ";
    }
    ?>
    </font></div></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><strong><font face="Arial">Betreff:</font></strong></td>
    <td><font face="Arial"><?php echo $Mailbetreff; ?></font></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    <tr>
    <td><strong><font face="Arial">Text:</font></strong></td>
    <td><div align="left"><font face="Arial"><?php echo nl2br($Mailnachricht);?></font></div></td>
    </tr>
    <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    </tr>
    </table>
    </div>
    </body>
    </html>

  • #2
    nein, distinct arbeitet case insensitive.
    Liegt es evtl. an meiner Schleife? Oder ist es evtl. ein Problem auf dem Server?
    keine ahnung, vielleicht liegts auch an den leuten.

    lass dir in der schleife alle verwendeten email-adressen in ein log schreiben, dann kannst ja noch mal schauen...

    Kommentar

    Lädt...
    X