Pb envoi mail groupé

cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013 - 6 mars 2006 à 21:38
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 - 8 mars 2006 à 09:17
Bonjour a tous,

Voila c'est pour une newsletter, j'ai un formulaire avec un textarea ou je tape ma news puis envoyer.

je vais chercher toutes les adresses mail dans ma bdd
Ensuite un envoi mail normal

fin

mais ca ne fonctionne pas correctement
si qqn peux me renseigner, voici mon script :

$news = nl2br(stripslashes($_POST['news']));


$sql = mysql_query("SELECT * FROM newsletter ORDER BY num");
while($data = mysql_fetch_array($sql)){
$mail = $data['email'];
$pseudomail = $data['pseudo'];

$to = $mail . ', ';
$subject = 'Sujet du mail';

$message = '<html><head><title>Newsletter</title></head>[http://www.monsite.com/images/banniere2.gif" border="0">
Bonjour '.$pseudomail.',

'.$news.'
Le webmaster.[monsite.com

</html>';

$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
//$headers .= 'Bcc: mon adresse perso <[mailto:adresseperso@wanadoo.fr>' adresseperso@wanadoo.fr>'] . "\r\n";
$headers .= 'From: monsite.com <[mailto:monsite@monserveur>' monsite@monserveur>'] . "\r\n";
mail($to, $subject, $message, $headers);
}

Voila et le probleme c'est que ca ne l'envoi pas a tout le monde alors.
J'ai mis un Bcc (ici en commentaire) avec mon adresse perso, moi je recois bien la copie mais les gens ne recoivent pas le mail.


joebuz

8 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
7 mars 2006 à 08:01
Salut,


remplace :


$sql = mysql_query("SELECT * FROM newsletter ORDER BY num");


par :





$sql = mysql_query('SELECT mail, pseudo FROM newsletter ORDER BY num') or die(mysql_error());

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
7 mars 2006 à 10:10
ca change pas grand chose puisque je n'ai que ces deux champs la dans cette table ?


joebuz
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
7 mars 2006 à 12:10
"mail($to, $subject, $message, $headers); "

Il est la ton envoi de mail.

Avec ta boucle while() au dessus, ca prend du temps d'exécution.
Il faut que tu envoies tes mails par paquet... il doit y avoir des scripts, on en avait fait vite fait un il me semble sur le forum !
0
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
7 mars 2006 à 17:40
pour le temps d'execution :

set_time_limit(0);

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
7 mars 2006 à 18:26
Voui, mais faut pas croire.. y'a un temps interne à Apache et ca va bloquer quand même !
C'est très dangereux de mettre set_time_limit(0)...

Autant faire un script qui détourne le problème plutot que de faire n'importe quoi :)
0
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
7 mars 2006 à 20:33
Moi j'ai fait un script qui tourne sans intéruption (en boucle; La page
n'a jamais finie de charger), j'utilise donc le set_time_limit(0); et
ça marche très bien et apache n'arrete pas l'execution !



De toutes facons pour envoyer pleins de mails d'un coup, ça se fera pas en 2 secondes ! Tu seras obliger de passer par là !

Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0
cs_joebuz Messages postés 321 Date d'inscription samedi 12 février 2005 Statut Membre Dernière intervention 21 février 2013
8 mars 2006 à 00:02
meme si avec un while c'est trop long, ca devrait quand même l'envoyer a tout le monde , non ?

Et puis pour l'essai je n'ai mis que 6 ou 7 adresse mail alors ca aurait dus fonctionner ?

Petite question, si dans la liste il ya une adresse mail non valide, ca stop l'envoi de tout les suivants ou ca passe au suivant ??

Et sinon a part un while comment je peux faire alors pour que ca prenne moins de temps, et surtout que ca fonctionne ?

Merci de toute vos reponses


joebuz
0
thomvaill Messages postés 366 Date d'inscription mercredi 7 avril 2004 Statut Membre Dernière intervention 20 février 2007 2
8 mars 2006 à 09:17
Essayes avec deux adresses au départ. Non, si il y a une mauvaise adresse ça fait rien.

Apart à while, je vois pas quoi faire d'autre moi...




Thomvaill
IRC : Thomas (irc.heliosnet.org:6667 #programmation)
0
Rejoignez-nous