Votre question

Envoyer un e-mail a plusieurs personnes (PHP)

Tags :
  • MySQL
  • Programmation
Dernière réponse : dans Programmation
11 Août 2005 02:36:53

Salut!
Je cherche à faire un formulaire pour les admins de mon site pour envoyer des messages à tous les inscrits par e-mail... Mais je ne trouve pas le moyen de générer les e-mails de tous les inscrits dans MySQL. Je sais que c'est un peu flou, mais je vous montre mon bout de code.... Je cherche quoi écrire à l'intérieur des { } du while pour que $to équivaut à tous les e-mails.

  1. mysql_connect('localhost', '******', '******');
  2. mysql_select_db('******');
  3. $_POST['sujet'] = $sujet;
  4. $_POST['mess'] = $mess;
  5. $reponse = mysql_query('SELEC mail FROM users WHERE valid="1" ORDER BY id');
  6. while ($donnees = mysql_fetch_array($reponse))
  7. {
  8.  
  9. }

Autres pages sur : envoyer mail plusieurs personnes php

11 Août 2005 10:56:51

  1. $conn = mysql_connect('localhost', '******', '******');
  2. mysql_select_db('******');
  3. $_POST['sujet'] = $sujet;
  4. $_POST['mess'] = $mess;
  5. $requete = "SELEC mail FROM users WHERE valid="1" ORDER BY id";//Désolé, je préfère voir une requète comme ça : sécurité !
  6. $reponse = mysql_query($requete,$conn);
  7. while ($donnees = mysql_fetch_array($reponse,MYSQL_NUM))
  8. {
  9.  
  10. }

J'ai déjà apporté une "mini" correction...
Après il faut utiliser un foreach, mais je sait pas comment faire. Dans ta liste de mail, les adresse ont elles un identificateur unique (ID en auto_increment ?? par exemple) ?
11 Août 2005 11:54:21

Juste par curiosité, en quoi est une sécurité ?
Contenus similaires
11 Août 2005 12:19:49

je sais pas, j'ai toujours lu ça ! et aisi ke les identifiants de connexion dans une variable et pas dans la fonction directement.
11 Août 2005 13:05:47

Oui il y a des ID en auto_increment !!!
11 Août 2005 13:10:56

Ok merci Neoscript47 ;-)
11 Août 2005 13:23:56

Salut,

Si ton hebergeur te donne le droit d'utiliser la fonction mail : bool mail ( string to, string subject, string message [, string additional_headers [, string additional_parameters]] )
on utilise $to pour concatener les personnes à qui tu dois envoyer.

  1. $to = ""; // on init $to
  2. $conn = mysql_connect('localhost', '******', '******');
  3. mysql_select_db('******');
  4. $_POST['sujet'] = $sujet;
  5. $_POST['mess'] = $mess;
  6. $requete = "SELEC mail FROM users WHERE valid="1" ORDER BY id";//Désolé, je préfère voir une requète comme ça : sécurité !
  7. $reponse = mysql_query($requete,$conn);
  8. while ($donnees = mysql_fetch_array($reponse,MYSQL_NUM))
  9. {
  10. $to .= $donnees["mail"].",";
  11. }
  12.  
  13. // ensuite on envoi le mail :
  14.  
  15. mail($to,$sujet,$message);



Tu as des solutions encore plus simple, mais par rapport a ton code voici une solution
14 Août 2005 23:16:30

Errrr... ça fonctionne pas... et j'arrive pas a trouver l'erreur puisque je ne comprend rien à ton code!
15 Août 2005 12:01:21

  1. $boundary = "-----=" . md5( uniqid ( rand() ) );
  2. $headers = '
  3. MIME-Version: 1.0
  4. Content-Type: text/html;
  5.  
  6. boundary="'.$boundary.'"
  7. Content-Encoding: utf8
  8. From: contact@site.com
  9. Reply-To: contact@site.com
  10. ';
  11.  
  12.  
  13. $mysql = mysql_connect("localhost", "******", "********");
  14. mysql_select_db("********", $mysql);
  15. $nbentree = mysql_query("SELEC * FROM newsletter");
  16. while ($donnees = mysql_fetch_array($nbentree) )
  17. {
  18. mail($donnees['mail'], $sujet, $message, $headers);
  19. }

Voila en faite tu fait une boucle pour envoyer le mail à chaque entrée de la base de donnée
25 Août 2005 01:11:58

Merci beaucoup, ça fonctionne!!!
J'aurais deux autres petites questions à vous poser...
Premierement, y a-t-il un code pour qu'automatiquement, quand la personne fait "répondre", le message soit envoyé à un autre e-mail que je choisi???

2e question... Nous sommes 2 administrateurs qui peuvent envoyer des messages... J'aimerais que si c'est moi il soit écris myself789@partykath.c.la et si c'est mon ami il soit écris guigui@partykath.c.la... Voici le code que j'ai essayé, ça écris ""@partykath.c.la :S

  1. $pseudo = $_SESSION['pseudo'];
  2. $from = $pseudo."@partykath.c.la";
25 Août 2005 22:48:31


J'ai une pure question comme mais comment on redige les adresse pour envoyer a plusieur personne, il y a un ; non ? sinon c'est très simple a faire.

Enfin je vais te faire le code avec le mail en boucle


  1. mysql_connect('localhost', '******', '******');
  2. mysql_select_db('******');
  3. $_POST['sujet'] = $sujet;
  4. $sujet = str_replace("\n.", "\n..", $sujet);
  5. $_POST['mess'] = $mess;
  6. $mess = str_replace("\n.", "\n..", $mess);
  7. $reponse = mysql_query('SELEC mail FROM users WHERE valid="1" ORDER BY id');
  8. while ($donnees = mysql_fetch_array($reponse))
  9. {
  10.  
  11. mail($donnees['mail'], $sujet, $mess);
  12.  
  13. }



Mais enfin mail en boucle je doute que ce soit très bien
26 Août 2005 18:05:03

g lu le pb de départ. Si j'ai bien compris, c'est un script type newsletter.

Je suis pas pros en php ms d'après ce queje connais j'aurais fais comme ca :

-déja tu récupère le nombres d'adresses.

-tu créer une boucle qui s'arrete quand le message à été envoyé à la dernière adresse( donc on se sert des id).

-tu stock la valeur dans une variable et tu recupère l'adresse email de l'id correspondant à la valeur.

-tu stock l'adresse récupérée dans une variable, et tu envoi le message avec cette variable comme adresse.(bien sur je parle pas du corps du message ... c pas ca le pb)

-une fois le message envoyé tu recommence.

-la valeur de la boucle sera incrémenté de 1 donc la valeur de l'id aussi donc l'adresse récupérer lors de la deuxième boucle sera la suivante et le message partira ainsi chez tout les abonnés.

-je répète je ne suis pas pro mais en cours d'apprentissage, donc les connaisseurs est-ce que ce raisonnement est bon ??

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS