Beste,
Ik heb een functie gemaakt die aan de hand van een gebruikersgroep een mail stuurt naar de leden van die groep met phpMailer.
Het gaat alleen namelijk fout wanneer er meerdere leden in 1 groep zitten. Het script verstuurt dan maar 1 mailtje naar de eerste gebruiker.Het lijkt er wel op dat hij zijn loop niet goed doet...
Misschien kunnen jullie helpen?
<?php
function mailGroup ($groupId)
{
//REQUIRE_ONCE IS BELANGRIJK!
require_once ('class.phpmailer.php');
$group = mysql_real_escape_string ($groupId);
$qry = mysql_query ("SELECT * FROM users WHERE user_group = '$group'") or die(mysql_error());
if(mysql_num_rows($qry) > 0 ) {
//Meer dan 1 resultaat, er zijn dus leden in de groep. Mail klaarmaken en versturen.
while($user = mysql_fetch_assoc($qry))
{
$mail = new PHPMailer();
//Email wordt als html verzonden
$mail->IsHTML(true);
//Afzender
$mail->From = "[email protected]";
$mail->FromName = "afz";
//SMTP instellingen
$mail->IsSMTP();
$mail->SMTPAuth = true;
$mail->Host = "smtp.server";
$mail->Port = 587;
$mail->Username = "gebruikers@naam";
$mail->Password = "pass";
//Ontvanger
$mail->AddAddress($user['user_email'], $user['user_realname']);
//Onderwerp
$mail->Subject = "Nieuw bericht op het intranet";
//HTML Mail
$mail->Body = "Beste ".$user['user_realname']." <br /><br />Er staat een nieuw bericht voor u klaar op het intranet. <br />
Log in op <a href='ad.res'> het intranet </a> om het bericht te lezen.";
//Alternatieve tekst
$mail->AltBody ="Beste ".$user['user_realname']." nn Er staat een nieuw bericht voor u klaar op het intranet. nn
Log in op ad.res om het bericht te lezen. nn (indien de link niet werkt kunt u deze kopieren en plakken in uw browser.)";
$mail->WordWrap = 200;
if(!$mail->Send()){
//Fout bij versturen, false terugsturen
$mailError = $mail->ErrorInfo;
return false;
}else{
//Verzenden is gelukt, true terugsturen
return true;
}
}//end while
}//end numrows
else {
//Geen resultaten. Er zijn geen leden in de groep, false terugsturen
return false;
exit();
}
}
?>
1.157 views