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>
<table width="60%" border="0" bgcolor="#666666">
<tr>
<td> </td>
<td> </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> </td>
<td> </td>
</tr>
<tr>
<td><div align="left"><strong><font face="Arial">An:</font></strong></div></td>
<td><div align="left"><font face="Arial">
</font></div></td>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><strong><font face="Arial">Betreff:</font></strong></td>
<td><font face="Arial"><?php echo $Mailbetreff; ?></font></td>
</tr>
<tr>
<td> </td>
<td> </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> </td>
<td> </td>
</tr>
</table>
</div>
</body>
</html>
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);
}
?>
<tr>
<td> </td>
<td> </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> </td>
<td> </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'].", ";
}
?>
</tr>
<tr>
<td> </td>
<td> </td>
</tr>
<tr>
<td><strong><font face="Arial">Betreff:</font></strong></td>
<td><font face="Arial"><?php echo $Mailbetreff; ?></font></td>
</tr>
<tr>
<td> </td>
<td> </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> </td>
<td> </td>
</tr>
</table>
</div>
</body>
</html>
Kommentar