le 27/12/2007 à 18:41
caporga
Bonjour la communauté,
je viens de récupérer un code pour générer des newsletters, il ne marchait, alors, je me suis plonger dedans pour voir les problèmes... j'en ai résolu quelques un mais pas la totalité, le code n'envoie pas les mails... si quelqu'un à la solution... merci bon courage
cap
je viens de récupérer un code pour générer des newsletters, il ne marchait, alors, je me suis plonger dedans pour voir les problèmes... j'en ai résolu quelques un mais pas la totalité, le code n'envoie pas les mails... si quelqu'un à la solution... merci bon courage
cap
<?php
$courriels="";
$newsletter=isset($_POST['newsletter'])?$_POST['newsletter']:"";
$sujet=isset($_POST['sujet'])?$_POST['sujet']:"Newsletter";
$send=isset($_POST['send'])?$_POST['send']:"";
$serveur = "####";
$utilisateur = "###";
$motdpasse = "####";
$baseddonnee ="####";
$comptertuples = mysql_connect ( $serveur, $utilisateur, $motdpasse);
mysql_select_db($baseddonnee, $comptertuples);
$query="SELECT * FROM newsletter";
$result=mysql_query($query);
for($i=0;$i<mysql_num_rows($result);$i++){
$id=mysql_result($result,$i,$result['id']);
$courriel=mysql_result($result,$i,$result['email']);
$courriels.=$courriel.";";}
if($send=="apercu"){?>
<p>Aperçu de la newsletter :</p>
<div style="display: block; width: 100%; background-color: white; color: black; border: 1px red dashed; ">
<?php echo stripslashes($newsletter); ?>
</div>
<form method="post" action="newsletter.php" name="formapercu">
<p>Aperçu du code généré pour la newsletter (non modifiable ici, cocher la case "modifier" plus bas...) :</p>
<textarea readonly="readonly" name="newsletter" style="width: 100%; height: 200px;"><?php echo stripslashes($newsletter); ?></textarea>
<p>Vérifiez le titre pour la newsletter avant l'envoi</p>
<input type="text" name="sujet" value="<?php echo $sujet; ?>" style="width: 100%;" />
<p>Actions possibles :</p>
<div style="position: relative; float: left;"><input type="radio" name="send" value="modif" onClick="document.formapercu.valuesubmit.value='Modifier la newsletter';"/>Modifier<br />
<input type="radio" name="send" value="send" onClick="document.formapercu.valuesubmit.value='Envoyer la newsletter';" checked="checked"/>Envoyer</div>
<div style="position: relative; top: 6pt; float: right;"><input type="submit" name="valuesubmit" value="Envoyer la newsletter"/></div></form>
<?php
}
elseif($send=="send"){
?><script language="JavaScript" type="text/Javascript">alert('Attention, la newsletter est en cours d\'envoi. Ceci peut prendre un certain temps suivant le nombre de personnes inscrites.');</script>
<p>Envoi en cours... Veuillez patienter</p>
<?php
$serveur = "####";
$utilisateur = "####";
$motdpasse = "####";
$baseddonnee ="####";
$comptertuples = mysql_connect ( $serveur, $utilisateur, $motdpasse);
mysql_select_db($baseddonnee, $comptertuples);
$query="SELECT * FROM newsletter";
$result=mysql_query($query);
$succes_nb=0;
$succes="";
$nope_nb=0;
$nope="";
/* destinataire = $courriel */
/* sujet = $sujet */
/* message = $newsletter */
/* Pour envoyer du mail au format HTML */
$headers = "MIME-Version: 1.0\n";
$headers .= "Content-type: text/html\n charset=iso-8859-1\n";
/* D'autres en-têtes : errors, From cc's, bcc's, etc */
$headers .= "From: dokoers communication <info@dokoers.com>\n";
//$headers .= "Cc: societe@domaine.com\n";
//$headers .= "Bcc: societe@domaine.com\n";
for($i=0;$i<mysql_num_rows($result);$i++){
$id=mysql_result($result,$i,$result['id']);
$courriel=mysql_result($result,$i,$result['email']);
/* et hop, à la poste */
if(@mail($courriel, $sujet, $newsletter, $headers)){
$succes .= $courriel."<br />";
$succes_nb++;
}
else{
$nope .= $courriel."<br />";
$nope_nb++;
}
}
$succes_pourc= ($succes_nb / $i ) * 100;
$echec_pourc= ($nope_nb / $i ) * 100;
echo "<p>Fin du processus, statistiques sur cet envoi</p>";
echo "Succès pour $succes_nb mails ( sur $i soit $succes_pourc% ) :<br />$succes";
echo "<br /><br />Echecs pour $nope_nb mails ( sur $i soit $echec_pourc% ) :<br />$nope";
}
elseif($send=="modif"){?>
<p>Préparer une newsletter :</p>
<div class="formulaire">
<form action="newsletter.php" method="post">
<p>Titre de la newsletter</p>
<input type="text" name="sujet" value="<?php echo $sujet; ?>" style="width: 100%;" />
<p>Contenu de la newsletter</p>
<textarea name="newsletter" style="width: 100%; height: 200px;"><?php echo stripslashes($newsletter); ?></textarea><br />
<input type="hidden" name="send" value="apercu" />
<p>Terminer</p>
<input type="submit" value="Envoyer cette newsletter" />
</form>
</div>
<?php }
else{ ?>
<p>Préparer une newsletter :</p>
<div class="formulaire">
<form action="newsletter.php" method="post">
<p>Titre de la newsletter</p>
<input type="text" name="sujet" value="Newsletter" style="width: 100%;" />
<p>Contenu de la newsletter</p>
<textarea name="newsletter" style="width: 100%; height: 200px;"></textarea><br />
<input type="hidden" name="send" value="apercu" />
<p>Terminer</p>
<input type="submit" value="Envoyer cette newsletter" />
</form>
</div>
<?php } ?>