Aller au contenu

Sujets conseillés

Posté

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 :


<?php
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 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

Posté (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é par K-Ola
Posté

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 ?

;)

Posté (modifié)

Pas beaucoup LOL

J'ai un peu de mal !

Modifié par captain_torche
Inutile de citer le message précédent; on vient de le lire !
Posté (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 ! :mad2:

En tout cas merci pour ton aide !

Modifié par captain_torche
Inutile de citer le message précédent; on vient de le lire !
Posté

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.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...