Newsletters + listes d'email

antx -  
 olivier -
Bonjour à tous,

Je créé une petite newsletter, mais j'ai un petit soucis pour insérer une liste d'email dans la fonction mail.

J'ai essaié plusieurs méthode mais pas moyen de trouver l'astuce pour insérer tous les enregistrements dans la variable destinataire.

<?php
$destinataire =
// Pour les champs $expediteur / $copie / $destinataire, séparer par une virgule s'il y a plusieurs adresses
$expediteur = 'info@aaa.aa';
$objet = 'Test'; // Objet du message
$headers = 'MIME-Version: 1.0' . "\n"; // Version MIME
$headers .= 'Content-type: text/html; charset=ISO-8859-1'."\n"; // l'en-tete Content-type pour le format HTML
$headers .= 'Reply-To: '.$expediteur."\n"; // Mail de reponse
$headers .= 'From: '.$expediteur."\n"; // Expediteur
$headers .= 'Delivered-to: '.$destinataire."\n"; // Destinataire
$message = '<div style="width: 100%; text-align: center; font-weight: bold">Un Bonjour de Developpez.com !</div>';
if (mail($destinataire, $objet, $message, $headers)) // Envoi du message
{
echo 'Votre message a bien été envoyé ';
}
else // Non envoyé
{
echo "Votre message n'a pas pu être envoyé";
}
?>


Merci de votre coup de main

4 réponses

Ssylvainsab Messages postés 2892 Statut Modérateur 825
 
Salut.

Selon la doc PHP, tu dois séparer les adresses par une virgule et un espace :
mail('destinataire@domaine.tld, deuxiemedestinataire@domaine.tld',$sujet,$message,$headers);

Si ca ne fonctionne pas, tu peux toujours essayer de faire une boucle, mais le serveur risque d'être chargé :D

a plus
0
antx
 
merci pour ta réponse, la liste d'adresse email vient d'une base de donnée.

Peux tu me dire comment dois-je faire pour insérer toutes les adresses email, ou une autre solution vu qu'il y a plusieurs centaines d'email dans ma base de donnée,

merci d'avance
0
Ssylvainsab Messages postés 2892 Statut Modérateur 825
 
Essaye d'abord en mettant une virgule et un espace entre chaque adresse.
0
olivier
 
un petit exemple de script que j'utilise pour une newsletter avec bdd

<?php
include "connect.php";

$message=$_POST["message"];
$objet=$_POST["objet"];

$query = "Select * From `membres` ";
$retourmail = mysql_query($query) or die ("erreur query1");
    while ($item = mysql_fetch_object($retourmail)){
	$email=$item->email;
mail(
	"$email",
	stripslashes("$objet"),
	stripslashes("$message"),
	"from: tonmail@fai.fr"
  );
  echo "mail envoyé à $email<br>";
}
echo "<br><br>fini";
mysql_close ($db);
?>
0