Ik ben nieuw hier en ook redelijk nieuw in/met php.
Ik heb een website waar men zich kan lid maken door registratie.
De gegevens worden bewaard in een database.
Nu had ik graag een mailform waar elk lid kan gemaild worden.
Dus, als ik 1 mail verstuur via een formulier dat elk lid deze mail krijgt.
Ik weet echter niet hoe ik de email adressen kan oproepen als ontvangers.
Dit heb ik als formumier waar ik de mail kan opstellen.
Ervanuitgaande dat je MySQLi voor je functies gebruikt, dan zou dit een mooi opzetje moeten zijn.
Let er wel op dat er nog validaties in moeten worden gebouwd om te voorkomen dat je lege velden verstuurt, terwijl dat niet hoort.
Ook wil ik erop wijzen dat als je >1000 mails wilt versturen, dit beter op een andere manier kan doen in plaats van via de browser.
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
$result = mysqli_query($db, "SELECT mailadressen, namen FROM mailabonees");
if($result) {
while($data = mysqli_fetch_assoc($result)) {
//hier de mail() functie uitvoeren
}
} else {
echo "Er is een fout opgetreden: ".mysqli_error($db);
}
}
?>
Daarnaast wil je waarschijnlijk dat deze functionaliteit wordt afgeschermd voor het publiek zodat niet iedereen je leden kan mailbomben. Ook je host zal je hier dankbaar voor zijn. Als je aan het spammen bent sta je al gauw op een blacklist (faster than you can say "shallow grave").
En voordat je je mail verstuurt naar XYZ leden wil je misschien zelf eerst een voorproefje ontvangen van het uiteindelijke resultaat.
Zoals Aar aangeeft wil je deze functionaliteit misschien ook schaalbaar houden voor als je ledenbestand groeit. Een beetje vooruit denken kan geen kwaad.
Waar je waarschijnlijk naar op zoek bent is een soort beheersysteempje voor het versturen van nieuwsbrieven. Dit kan en mag in beginsel best simpel zijn, maar bovengenoemde toevoegingen zouden in deze eerste opzet niet misstaan.
Ervanuitgaande dat je MySQLi voor je functies gebruikt, dan zou dit een mooi opzetje moeten zijn.
Let er wel op dat er nog validaties in moeten worden gebouwd om te voorkomen dat je lege velden verstuurt, terwijl dat niet hoort.
Ook wil ik erop wijzen dat als je >1000 mails wilt versturen, dit beter op een andere manier kan doen in plaats van via de browser.
<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
$result = mysqli_query($db, "SELECT mailadressen, namen FROM mailabonees");
if($result) {
while($data = mysqli_fetch_assoc($result)) {
//hier de mail() functie uitvoeren
}
} else {
echo "Er is een fout opgetreden: ".mysqli_error($db);
}
}
?>
Dit heb ik als mail functie, kan ik daarmee verder?
$naam = $_POST['naam'];
$email = $_POST['email'];
$bericht = $_POST['bericht'];
$eigenmail = '[email protected]';
if (!empty($bericht)) {
$formsent = mail("$eigenmail","Uw Team","naam: $naam\r\n email: $email\r\n bericht: $bericht.",
"From: $email\r\nBounce-to: $eigenmail");
if($formsent)
{
echo "
<div id=\"tekst\">
<h3>Dankjewel</h3>
Beste $naam,<br />
<br />
Uw bericht is goed aangekomen bij mij. We zullen zo snel mogelijk een antwoord sturen.
</div>
";
}
else
{
echo "
<div id=\"tekst\">
<h3>Helaas..</h3>
Helaas $naam,<br />
<br />
Uw bericht is niet goed verzonden. Onze excuses hiervoor.
</div>
";
}
} else {
echo "U heeft iets vergeten in te vullen.";
}
?>
Zoals ik al zei, ben redelijk nieuw in php en heb dit script op het www gevonden.
Katleen