1) In het formulier geef ik aan welk html bestand hij moet gerbuiken voor de nieuwsbrief.
2) Met de knop verstuur leest hij dmv een while loop de emailadressen uit en send hij deze naar de leden. Tevens worden de variabelen vervangen om de mail een persoonlijk tintje te gegven
3) Klaar!
Waar gaat het mis? Nou, hij stuurt niet een nieuwe mail naar iedereen, maar plakt er als het ware steeds eenzelfde onder. Dus nr3 op de lijst krijgt 3x dezelfde mail maar dan met de vervangen variablelen van de vorige 2.
Wat zie ik over het hoofd?!
<form target='_self' method='post'>
<table width="250" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>naam bestand</td>
<td><input name="htmlfile" type="text" id="htmlfile" value="mail.html" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="button" id="button" value="Submit" /></td>
</tr>
</table>
</form>
<?php
if (file_exists($_POST['htmlfile'])) {
include "dbconnect.php";
$sql = "SELECT *
FROM leden
WHERE nieuwsbrief='1'";
$result = mysql_query($sql);
$message .= "\n";
// Hier haal je de volledige HTML bron van je mailtje mee op:
$message .= @implode("", file($_POST['htmlfile'])) . "\n\n";
$message .= "\n";
while ($row = mysql_fetch_assoc($result)) {
$to = $row['email'];
$from = "nieuwsbrief@****.com";
$replyto = "info@****.com";
$subject = "Mail van ****.com";
$headers = "From: $from <$replyto>\n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: text/html;\n";
// Als je [Voornaam],[Achternaam], ed. in mailtje.php zet
// kan je deze vervangen door een variabele uit b.v. een database
$message = str_replace("[Voornaam]", $row['gebruikersnaam'], $message);
$message = str_replace("[Achternaam]", $achternaamGeadresseerde, $message);
$message = str_replace("[Email]", $emailGeadresseerde, $message);
mail($to,$subject,$message,$headers);
echo "bericht verzonden naar: ".$row['gebruikersnaam']."<br>";
}
}
?>