En me référent à divers post concernant ce sujet, j'ai un petit code qui envoie un une donnée à certains membres par email (maxi une trentaine en même temps et une fois par jour).
(J'ai enlevé les noms des champs et modifié certaines choses
if (isset($_POST["envoi"]))
{ // envoi par email
$nb_email = 10;
for ($i=1; $i <= $nb_email; $i++)
{
$sq = "SELECT * FROM m WHERE champ = '$val' ORDER BY champ2 ASC";
$res = mysql_query($sq) or die (mysql_error());
// Jusqu'ici, pas d'erreur retournée
while ($row = mysql_fetch_array($res))
{
$headers = "From: \"***\"<webmaster@***.com>\n";
$headers .= "Reply-To: ***@***.com\n";
$headers .= "Bcc: webmaster@***.com\n";
$headers .= "X-Priority: 1\n";
$headers .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
$headers .= "Content-Transfer-Encoding: 8bit";
$sujet = 'Sujet'.$row[4];
$message = "Bonjour ".$row[1].", \n\n";
$message .= "message1 ".$row[6].".\n";
$message .= "Pour ".$row[5].".\n";
$message .= "message2 ".$row[7]." €.\n";
$message .= "message3 : ".$row[8].".\n";
$message .= "message4 : ".$row[9].".\n";
$message .= "message5 : ".$row[10].".\n";
$message .= "message7 : ".$row[11].".\n\n";
$message .= "message8 : ".$row[3].".\n\n";
$message .= "message9\n\n";
$message .= "Je vous souhaite une bonne réception.\n";
$message .= "Cordialement\n";
$message .= "*** - Administrateur du site ***";
// On envoi l’email
$mail = mail($row[2], $sujet, $message, $headers);
}
}
// messages après exécution
if (!$res)
{
echo "Problème res !<br>";
}
else
{
echo "Pas de problème avec res ! <br>"; // retour ok, pas d'erreur
}
if (!$mail)
{
echo "Les codes n'ont pas été envoyés !"; // erreur retournée
}
else
{
echo "Les codes ont bien été envoyés !";
}
if ($resucode AND $mail)
{
$upd = "UPDATE membres SET envoi_r = 'oui' WHERE produit_id = '" .$rowc[0]. "' ";
$rupd = mysql_query($upd);
}
}
Donc, les emails ne sont pas envoyés. Si vous pouviez m'aider, merci D'autre part, suite à chaque envoi d'un email, je voudrais faire un update "$upd" sur le membre correspondant dans la table. Je pense qu'il faudrait mettre la requête dans le while, mais est-ce la bonne solution ?
Meri par avance pour votre aide.