scorpion11_22 Posté 25 Mai 2010 Posté 25 Mai 2010 Bonjour les HUBS !! Voilà je vien de faire un systeme de newsletter en utilisant la class phpmailer et fck editor et maintenant je cherche le moyen de faire que lorsque on envoi la newsletter elle parte par paquet de 50 ou 100 enfin bref vous voyez ce que je veux dire ! Au cas ou voiçi mon code : <?phpif(isset($_POST['message'])) {$fichier_message = $_POST['message'] .'<p><br /><br /><a href="http://www.informadream.fr/FFMC/newsletter.php">Cliquez ici pour gérer votre abonnement à la newsletter</a></p>';//------------------------------------------------------------------------------------ $liste_vrac = mysql_query("SELECT email FROM newsletter"); $liste = 'contact_AT_forumffmc.com'; while ($donnees = mysql_fetch_assoc($liste_vrac)) { $liste .= ','; $liste .= $donnees['email']; } $message = $fichier_message; $destinataire = $liste; $date = date("d/m/Y"); $mail = new PHPmailer(); $mail->IsHTML(true); $mail->From = 'FFMC 11'; $mail->AddAddress('contact_AT_forumffmc.com'); $mail->AddBCC($destinataire); $mail->AddReplyTo('contact_AT_forumffmc.com'); $mail->Subject='Newsletter du '.$date; $mail->Body=stripslashes($fichier_message); if(!$mail->Send()){ echo '<p align="center" style="color:#F00; font-weight:bold;">'.$mail->ErrorInfo.'</p>'; } else{ echo '<p align="center" style="color:#F00; font-weight:bold;">Newsletter envoyé avec succès !</p>'; } mysql_query("INSERT INTO newsletter_text (id,message) VALUES('','".$fichier_message."')");}?><form method="post" action="newsletter.php"><div align="center"><?php //Apparaitre pour création $oFCKeditor = new FCKeditor('message') ; $oFCKeditor->ToolbarSet = 'Basic'; $oFCKeditor->Create() ;?><input type="submit" value="Envoyer la newsletter" /></div></form> Merci
K-Ola Posté 25 Mai 2010 Posté 25 Mai 2010 (modifié) Ce que tu peux faire au niveau de ton code: -Tu incrémentes une variable à chaque envoi, par exemple $cptMail -Si le modulo de $cptMail par 50 vaut zéro alors tu arrêtes et tu rediriges vers une page temporaire en passant en paramètre $cptMail -Au bout de quelques secondes/minutes, tu rediriges ta page vers l'envoi, toujours en passant en paramètre l'ancien $cptMail (pour ne par renvoyer 2 fois au même destinataire) Modifié 25 Mai 2010 par K-Ola
scorpion11_22 Posté 25 Mai 2010 Auteur Posté 25 Mai 2010 Ce que tu peux faire au niveau de ton code: -Tu incrémentes une variable à chaque envoi, par exemple $cptMail -Si le modulo de $cptMail par 50 vaut zéro alors tu arrêtes et tu rediriges vers une page temporaire en passant en paramètre $cptMail -Au bout de quelques secondes/minutes, tu rediriges ta page vers l'envoi, toujours en passant en paramètre l'ancien $cptMail (pour ne par renvoyer 2 fois au même destinataire) Merci pour ta réponse rapide mais franchement je vois pas du tout comment faire ! Tu n'aurais pas un petit exemple ?
captain_torche Posté 25 Mai 2010 Posté 25 Mai 2010 Son explication m'a pourtant l'air suffisamment compréhensible. Quelles connaissances as-tu en développement ?
scorpion11_22 Posté 25 Mai 2010 Auteur Posté 25 Mai 2010 (modifié) Pas beaucoup LOL J'ai un peu de mal ! Modifié 25 Mai 2010 par captain_torche Inutile de citer le message précédent; on vient de le lire !
captain_torche Posté 25 Mai 2010 Posté 25 Mai 2010 Pour quelqu'un qui propose de la réalisation de sites, c'est étonnant, tu l'admettras ! A quelle étape bloques-tu ?
scorpion11_22 Posté 25 Mai 2010 Auteur Posté 25 Mai 2010 (modifié) J'en était sur de ça LOL ! En fait j'ai essayer plusieurs choses en faisant des boucles mais chaque fois j'ai des soucis de réceptions de mails: soit je recoit en doubles triples etc ... soit les mails n'arrive pas ! Par exemple le code que j'avais pondu et qui me parraissait le plus adapter : if(isset($_POST['message'])) {$fichier_message = $_POST['message'] .'<p><br /><br /><a href="http://www.informadream.fr/FFMC/newsletter.php">Cliquez ici pour gérer votre abonnement à la newsletter</a></p>';//------------------------------------------------------------------------------------$liste_vrac = mysql_query('SELECT COUNT(*) FROM newsletter');$total = mysql_fetch_row($liste_vrac);$total = $total[0];$numpaquet=1;$nb=50;$nbpaquet=ceil($total/$nb);for ($i=1;$i<=$nbpaquet;$i ++) { $liste_vrac = mysql_query("SELECT email FROM newsletter LIMIT {$i}, 3"); $liste = 'contact_AT_forumffmc.com'; while ($donnees = mysql_fetch_assoc($liste_vrac)) { $liste .= ','; $liste .= $donnees['email']; } $message = $fichier_message; $destinataire = $liste; $date = date("d/m/Y"); $mail = new PHPmailer(); $mail->IsHTML(true); $mail->From='contact_AT_forumffmc.com'; $mail->AddAddress('contact_AT_forumffmc.com'); $mail->AddBCC($destinataire); $mail->AddReplyTo('contact_AT_forumffmc.com'); $mail->Subject='Newsletter du '.$date; $mail->Body=stripslashes($fichier_message); if(!$mail->Send()){ echo '<p align="center" style="color:#F00; font-weight:bold;">'.$mail->ErrorInfo.'</p>'; } else{ echo '<p align="center" style="color:#F00; font-weight:bold;">Newsletter envoyé avec succès !</p>'; $nbenvoi = $nbenvoi+1; } } $numpaquet++; sleep(1); unset($mail); mysql_query("INSERT INTO newsletter_text (id,message) VALUES('','".$fichier_message."')");}?><form method="post" action="newsletter.php"><div align="center"><?php //Apparaitre pour création $oFCKeditor = new FCKeditor('message') ; $oFCKeditor->ToolbarSet = 'Basic'; $oFCKeditor->Create() ;?><input type="submit" value="Envoyer la newsletter" /></div></form> Je sais pas pourquoi mais je doit déconner sur une partie de code surement au niveau de l'envoi ! En tout cas merci pour ton aide ! Modifié 25 Mai 2010 par captain_torche Inutile de citer le message précédent; on vient de le lire !
creative Posté 30 Mai 2010 Posté 30 Mai 2010 Juste un petit conseil...50 à 100 par paquet ça parait peu, mais en réalité c'est un peu beaucoup, tu risque d'avoir des soucis avec les anti-spam type hotmail.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant