bonjour,
je voudrais parcourir une table mysql ne contenant que des champs 'e-mail' (1 seule colonne), et envoyer un mail via la fonction mail de php à tous ces e-mails. si quelqu'un pouvait m'aider ? merci.
bonjour,
je voudrais parcourir une table mysql ne contenant que des champs 'e-mail' (1 seule colonne), et envoyer un mail via la fonction mail de php à tous ces e-mails. si quelqu'un pouvait m'aider ? merci.
je suis allé sur php.net, et ils parlent de al fonction foreach(Array_expresssion as $value)
donc il faudrait que je stocke tous les enregistrements 'e-mail' dans un tableau, mais je ne sais pas trop comment... un mysql fetch array ?
en gros si j'ai bien compris tu veux faire un newsletter a tous les membres
j'ai fait ca sur mon site
il faut juste extraire les donnees mail dans un tableau puis unfois extraite tu boucle sur mail avec une boucle while et la fonction mail juste en dessus
mail moi si tu n'arrive pas
j'ai aussi un autre probleme: je veux stocker le texte de la newsletter dans une table ayant comme champs: id, sujet, texte1 à 5
mais lorsque j'insère, il ne prends pas les textes avec des espaces entre les mots... ca m'affiche:
voici ma source:Check the manual that corresponds to your MySQL server version for the right syntax to use near 'de diffusion de DB Conseil,un,deux,trois,quatre,cinq' at line 1
Code : Sélectionner tout - Visualiser dans une fenêtre à part mysql_query("insert into newsletters (id,sujet,txt1,txt2,txt3,txt4,txt5) values (NULL,".$_POST['sujet'].",".$_POST['texte1'].",".$_POST['texte2'].",".$_POST['texte3'].",".$_POST['texte4'].",".$_POST['texte5']."") or die (mysql_error());
Il faut également ajouter addslashes() à chaque $_POST
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 mysql_query("insert into newsletters (id,sujet,txt1,txt2,txt3,txt4,txt5) values (NULL,'".$_POST['sujet']."','".$_POST['texte1']."','".$_POST['texte2']."', '".$_POST['texte3']."','".$_POST['texte4']."','".$_POST['texte5']."'")) or die (mysql_error());
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 addslashes($_POST['texte1']) .... etc
Bon je vais te donner une solution qui marche que j'ai developpe sur mon site perso utilisé chez free pour envoyer en masse la newsletter à les email inscrit dans la table mail
deja en premier tu cree un formulaire HTML avec un champ sujet et un champ message le formulaire pointe sur la page mail.php donc dans ton form action="mail.php"
ensuite
la page mail.php
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?php $headers="from:xxxx.xxxx@free.fr"; //ton adresse mail include("connect.php"); // connexion base de donnée $req=mysql_query("select email from lettre");// on liste toute la table lettre $res=mysql_numrows($req);// on compte le result $i=0; while($i!=$res){ $email=mysql_result($req,$i,"email"); mail($email,$sujet,$message,$headers);//envoi mail $i++; } echo "<h2>Tous les emails ont etes envoyes</h2>"; mysql_close(); ?>
Partager