Envoi d'email Multi Destinataire

R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009 - 1 févr. 2007 à 19:14
cs_Springer Messages postés 85 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 14 mars 2007 - 1 févr. 2007 à 23:53
Bonjour,

J'ai une question, sa fait quelques jours que je programme mon nouveau site web, et là je tombe sur un problème, j'aimerais suite à formulaire envoyé mes données à plusieurs personnes, ces personnes ont leur mail dans la base de donnée 'mail',
Mon problème est que ma variable à afficher est $mail, mais je dois mettre une virgule entre chaque adresse e-mail pour pouvoir les envoyé, comment je peut faire?

Merci d'avance!

4 réponses

cs_Springer Messages postés 85 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 14 mars 2007 1
1 févr. 2007 à 20:12
bonjour,
tu récupères, à partir de ta base, tes adresses dans un tableau je suppose,
donc :
$nbAdr = count($tableauAdresse);
$adrMail = "";
for($i = 0, $i < $nbAdr, $i++)
{
//concatenation .= , comme c'est pas très visible Point(.)egal(=)
$adrMail .= ",".$tableauAdresse[$i];
}
j'espère que celà te convient.
cordialement
0
R3dDragon Messages postés 62 Date d'inscription dimanche 30 juillet 2006 Statut Membre Dernière intervention 14 avril 2009
1 févr. 2007 à 21:08
J'arrive pas à l'intégrer dans mon script PHP...
Je veux dire que j'ai:
------------------------------------------------------------------------
<?php
require("conf.php3"); //On insert le fichier qui contient les informations
$dans = $_POST['dans'];
// on se connecte à MySQL
$db = mysql_connect(''.$sql_serveur.'', ''.$sql_login.'', ''.$sql_pass.'');


// on sélectionne la base
mysql_select_db(''.$sql_bdd.'',$db);


// on crée la requête SQL
$sql = 'SELECT nom,prenom,mail FROM '.$dans.'';


// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());


// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
    {
    $nom = $data['nom'];
    $prenom = $data['prenom'];
    $mail = $data['mail'];
    }


// on ferme la connexion à mysql
mysql_close(); ?>
<?php
session_start(); //On demarre une session parce que j'ai envi ^^




$email = htmlentities($_POST['email']);


    if (preg_match("!^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$!", $email)) //Verifie que l'email entrée n'est pas une fausse.
    {
  $chaine = "abcdefghijklmnopqrstuvwxyz0123456789";
  $confirm = str_shuffle($chaine); //On créé le code de confirmation
  
//////////Récupération des infos du formulaire///////
$achat_location = htmlentities($_POST['achat_location']);
$info_complementaire = htmlentities($_POST['info_complementaire']);
$budget = htmlentities($_POST['budget']);
$euro = htmlentities($_POST['euro']);
$civilite = htmlentities($_POST['civilite']);
$nomdevis = htmlentities($_POST['nomdevis']);
$prenomdevis = htmlentities($_POST['prenomdevis']);
$statut = htmlentities($_POST['statut']);
$pays = htmlentities($_POST['pays']);
$dpt = htmlentities($_POST['dpt']);
$adresse1 = htmlentities($_POST['adresse1']);
$adresse2 = htmlentities($_POST['adresse2']);
$ville = htmlentities($_POST['ville']);
$codepostal = htmlentities($_POST['codepostal']);
$tel1 = htmlentities($_POST['tel1']);
$tel2 = htmlentities($_POST['tel2']);
$internet = htmlentities($_POST['internet']);
$jour = htmlentities($_POST['jour']);
$heures = htmlentities($_POST['heures']);
$methode = htmlentities($_POST['methode']);
/////////Fin de Récup///////////////////////////////
  /*On Fait la variable contenant le mail de confirmation*/
 
  $message1 = '<html>Bonjour ' . $nom . ' ' . $prenom . ',
';
  $message1 .= '
';
  
  $sql = connect_sql(); //On se connecte à MySQL
  
  if( empty($dans) || empty($info_complementaire) || empty($budget) || empty($euro) || empty($civilite) || empty($nomdevis) || empty($prenomdevis) || empty($statut) || empty($pays) || empty($dpt) || empty($adresse1) || empty($ville) || empty($codepostal) || empty($tel1) || empty($email) || empty($methode)) //On verifie que les variables précédentes ne soient pas vide
   {
    $reponse = 'Un ou plusieurs champs ne sont pas remplis, [javascript:history.back(1) Retour au formulaire]';
   }
   else //Si tout est bon on entre les données dans la BDD et on envoye le mail
   {
    mysql_query("INSERT INTO test VALUES ('','$dans', '$info_complementaire', '$budget', '$euro', '$civilite', '$nomdevis', '$prenomdevis', '$statut', '$pays', '$dpt', '$adresse1', '$adresse2', '$ville', '$codepostal', '$tel1', '$email', '$methode')");
    $reponse = 'Votre demande vient d\'être transféré aux prestataires concernés.
[' .$url_site. ' Retour à l\'Accueil]';
    $entete = "MIME-Version: 1.0\r\n";
    $entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $entete .= "From: <$email_admin>\r\n";
    $entete .= "Reply-To: $email_admin\r\n";
    mail($mail,'CR-Event: Une nouvelle demande devis.' , $message1, $entete);
   }
   
  mysql_close($sql); //On se deconnecte
 }
 else //Reponse si l'adresse e-mail est une fausse
 
 
 ?>


<?php include 'include/haut.php'; ?>
Etat de votre demande:

<? echo $reponse; ?> <!-- On affiche la reponse de tout le code du dessus -->

<?php include 'include/bas.php'; ?>
----------------------------------------------------------------------------------
Comment je peux faire pour le mettre dans mon code source? Je suis débutant...
J'ai essayé de le mettre à la place de $mail de ma fonction mail!
Comment je peut l'intégrer?


Merci pour ta réponse Springer!
0
cs_Springer Messages postés 85 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 14 mars 2007 1
1 févr. 2007 à 23:45
re,
cela n'a pas vraiment d'importance tu peux le mettre juste avant la fonction mail, comme ceci

//debut de ton script
....
$entete = "MIME-Version: 1.0\r\n";
    $entete .= "Content-type: text/html; charset=iso-8859-1\r\n";
    $entete .= "From: <$email_admin>\r\n";
    $entete .= "Reply-To: $email_admin\r\n";

$nbAdr = count($data );//je pense que c'est la bonne variable
$adrMail = "";
for($i = 0, $i < $nbAdr, $i++)
{
//concatenation .= , comme c'est pas très visible Point(.)egal(=)
$adrMail .= ",".$data [$i];
}
//fait un test avant par sécurité pour vérifier que tu as bien le résultat
//excompté.
echo "résultat : ".$adrMail."

";
//par sécu met la fonction mail en commentaire
//Attention à ce que les lignes de ton message ne fasse pas plus de 70 caractères. Voir http://fr2.php.net/manual/fr/function.mail.php
$message1 = wordwrap($message1, 70);

//   mail($mail,'CR-Event: Une nouvelle demande devis.' , $message1, $entete);
   }
voilà, mais fait le test avant, comme indiqué
Si tu as d'autre questions fait mois un courrier directement, la petite icone marqué MP dans l'en tète de la réponse
je te répondrai demain en fin de journée.
Cordialement
0
cs_Springer Messages postés 85 Date d'inscription lundi 14 juillet 2003 Statut Membre Dernière intervention 14 mars 2007 1
1 févr. 2007 à 23:53
0
Rejoignez-nous