Suite à ce message, voici mon nouveau problème:
Voici que lorsque j'ai plusieurs emails, ça m'affiche un message me disant qu'il faut que je renseigne un email, alors qu'avec un seul mail, ça fonctionne.
Mailer Error: You must provide at least one recipient email address.
Voici le code utilisé pour l'envoi de l'email<h3>Envoie d'emails de groupe</h3>
<div id="sous_content">
<?php
/*************/
if (isset($_POST['envoyer']))
{
//parsing des variables
$message = $_POST['message'];
$message = nl2br($message);
$selected_rank = $_POST['selected_rank'];
$selected_rank = ($selected_rank!=0)?$selected_rank:'';
$condition_rank = ($selected_rank!=0)?'AND t_users.rank_id = :rank':'';
$req = 'SELECT
t_users.users_mail
FROM t_users
LEFT JOIN t_rank ON t_rank.rank_id = t_users.rank_id
LEFT JOIN t_online ON online_id = users_id
WHERE users_verif = :users_verif AND t_users.rank_id != :users_verif '.$condition_rank.'
ORDER BY users_id ASC';
$query = $cnx->prepare($req);
$query->bindValue(':users_verif', 1,PDO::PARAM_BOOL);
if ($selected_rank!=0) { $query->bindValue(':rank', $selected_rank,PDO::PARAM_INT); }
$query->execute();
$body = "<html><body>
$message
<br /><br />
Cordialement, l'administrateur de ".SITE_NAME.".
<br /><br />
</body></html>";
$plain = 'contactez <a href="mailto:'.SITE_MAIL.'">'.SITE_MAIL.'</a> si vous voyez ce message'; // optional, comment out and test
#initiate PHPMailer class
$mail = new PHPMailer();
#set the from e-mail address
$mail->From = SITE_MAIL;
#set the from name
$mail->FromName = SITE_NAME;
#set the e-mail type to HTML
$mail->IsHTML(true);
#the subject of the email
$mail->Subject = "Couriel de ".SITE_NAME;
#the HTML content of the email
$mail->Body = $body;
#the plain text version
$mail->AltBody = $plain;
#add subscribers address as the recipient
$tab = array();
while($data = $query->fetch(PDO::FETCH_OBJ))
{
$tab[] = trim($data->users_mail);
}
$email = implode(',',$tab);
#add subscribers address as the recipient
$mail->AddAddress($email);
#sends the newsletter
$mail->Send();
#clears the recipient address
$mail->ClearAddresses();
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
}
else {
echo 'email envoyé';
}
echo '<br /> '.$email;
}
/*************/
$query = $cnx->prepare('SELECT
t_rank.rank_id,
t_rank.rank_libelle
FROM t_rank
WHERE t_rank.rank_id != :rank1 AND t_rank.rank_id != :rank2
ORDER BY rank_id ASC');
$query->bindValue(':rank1', 1,PDO::PARAM_INT);
$query->bindValue(':rank2', 2,PDO::PARAM_INT);
$query->execute();
//Si la requête retourne un truc, le membre existe
?>
<form action="index.php?r=newsletter" method="POST">
Membre(s) :
<br />
<select name="selected_rank">
<option value="0">Tous</option>
<?php
while($data = $query->fetch())
{
?>
<option value="<?php echo $data['rank_id']; ?>"><?php echo $data['rank_libelle']; ?></option>
<?php
}
?>
</select>
<br />
Votre message :
<br />
<textarea class="span11" name="message" id="texte" cols="90" rows="10"></textarea>
<br />
<input type="submit" name="envoyer" value="Envoyer l'email" />
</form>
Pouvez vous m'expliquer comment faire pour faire l'envoie de l'emai?Merci de votre aide
Cordialement