Aller au contenu

Problème envoie Multiple avec mail()


Sujets conseillés

Posté

Bonjour,

Malgré des recherches sur le net je n'ai pas trouvé d'explication à mon problème.

Je désire envoyé un email aux abonnées à ma newsletter.

Les adresses sont dans un base MySQL et l'envoie se fait automatiquement par un tache CRON.

Le problème est que mon script ci-dessous considère qu'il envoie un mail à chaque destinaire alors que dans les faits, seul le premier mail au premier destinataire est envoyé. Je ne vois pas où est mon erreur


<?php

// RECUPERATION NEWSLETTER
$Contenu = file_get_contents('Page de la Newsletter');
$Sujet = "Newsletter du ".$DATE;

$requete = "SELECT * FROM TABLE_DES_ABONNES WHERE `ACTIF` =1";
$resultat = mysql_query( $requete );
$nombre_abonnés = mysql_num_rows( $resultat );
$i=0;
while ($i<$nombre_abonnés)
{
$enregistrement = mysql_fetch_array( $resultat );

$Destinataire = $enregistrement[EMAIL];
$From = "From:MOI\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";

if (mail($Destinataire,$Sujet,$Contenu,$From)) // Envoi du message
{
echo "Votre message a bien été envoyé à $Destinataire<br>";
}
else // Non envoyé
{
echo "Votre message n'a pas pu être envoyé à $Destinataire<br>";
}

//mail($Destinataire,$Sujet,$Contenu,$From);
//echo "Envoi d'un email à $Destinataire<br>";

$i++;
}

echo "Fin, tout est ok.<br>";
?>

Merci d'avance

  • 2 semaines plus tard...
Posté

Essaie plutôt ça :

<?php

// RECUPERATION NEWSLETTER
$Contenu = file_get_contents('Page de la Newsletter');
$Sujet = "Newsletter du ".$DATE;

$requete = "SELECT * FROM TABLE_DES_ABONNES WHERE `ACTIF` =1";
$resultat = mysql_query( $requete );


[b]while ($enregistrement = mysql_fetch_array( $resultat );)
{[/b]

$Destinataire = $enregistrement[EMAIL];
$From = "From:MOI\n";
$From .= "MIME-version: 1.0\n";
$From .= "Content-type: text/html; charset= iso-8859-1\n";

if (mail($Destinataire,$Sujet,$Contenu,$From)) // Envoi du message
{
echo "Votre message a bien été envoyé à $Destinataire<br>";
}
else // Non envoyé
{
echo "Votre message n'a pas pu être envoyé à $Destinataire<br>";
}

//mail($Destinataire,$Sujet,$Contenu,$From);
//echo "Envoi d'un email à $Destinataire<br>";

$i++;
}

echo "Fin, tout est ok.<br>";
?>

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...