Fonction mail() dans un while

Fermé
jacko - 15 juin 2010 à 19:58
lezao Messages postés 469 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 août 2016 - 15 juin 2010 à 22:15
Bonjour,

j'ai un probleme dans ma fonction.

je vais chercher dans une table les emails et je les récupere avec un while dans lequel j'envoi mon mail.

mon probleme est que la derniere adresse email recoi le mail en xxx fois le nombre d email...

comment faire ? voici mon code :

while($r = mysql_fetch_array($req1))
{
//ici ma fonction mail avec comme destinataire : $r[email]
}

merci

2 réponses

avion-f16 Messages postés 19125 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 23 mars 2023 4 468
15 juin 2010 à 21:51
Perso je te conseillerais plutôt d'utiliser les entêtes SMTP, avec le champ "copies carbones cachées" (Bcc), ça devrait être moins lourd car tu n'appelles qu'une fois la fonction mail().

Exemple :
<?php
$to      = 'webmaster@example.com';
$subject = 'Sujet de l\'email';
$message = 'Le blabla de ton email';

$headers = 'From: webmaster@example.com'."\r\n"
 . 'Reply-To: webmaster@example.com'."\r\n"
 . 'X-Mailer: PHP/' . phpversion();
 
$headers .= 'Bcc: ';

while(/* La boucle */) {
	$headers .= $email.',';
}
$headers = rtrim($headers, ',')."\r\n";

mail($to,$subject,$message,$headers);
?>
0
lezao Messages postés 469 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 14 août 2016 36
Modifié par lezao le 15/06/2010 à 22:21
Moi je fais comme ça pour eviter que ce soit lourd, j'envois qu'une seul fois et je cumule les mails avec un ; de separation


$sql = "SELECT * FROM emails ";
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
while ($data = mysql_fetch_array($req)) {

$destinataire = $data["email"].";".$destinataire ;
}

$email = "test@hotmail.com" ;

mail("$destinataire",
"NEWSLETTER",
"[NEWSLETTER]

Sujet : $sujetnewsletter
LE MESSAGE : $textenewsletter ",
"From: $email\nReply-To: $email");
lezao : quand tu sais pas , tu me demandes je sais tout....non je déconne...presque tout.
0