oui mais ce n'est pas lors de l'envoi des emails que je bloque sur le serveur... c'est seulement pour l'affichage des emails.
J'ai commencé à corriger mon script... et voici ce que j'ai maintenant (les lignes commentées sont les anciennes lignes de code)
if ($passlist == $variable[0])
{
//on lit le fichier ../result.lst
//$fp = fopen("../result.lst","r");
//while (!feof($fp))
//{
//$ligne = fgets($fp,400096);
//$email = explode("|",$ligne);
//}
//fclose($fp);
// début de la modification
$contenu_fichier = file_get_contents ("../result.lst");
$email = explode("|", $contenu_fichier); //convertir le texte lu en tableau
// fin de cette modification
$cpt=0;
for($x=0;$x < sizeof($email)-1;$x++)
{
$resultat = "checkbox$x";
if($$resultat){}else{$email2[$cpt] = $email[$x];$cpt++;}
}
$fp = fopen("../result.lst","w+");
for($x=0;$x <= sizeof($email2)-1;$x++)
{fputs($fp,"$email2[$x]");fputs($fp,"|");}
fclose($fp);
}
if ($passlist != $variable[0] && strlen($passlist) >=1)
{echo("<div align='center'><font size='5' color='#FF0000'>Mot de passe incorect</font></div>");}
//Interface Voir et effacer liste de diffusion
if (($menu == "Voir Effacer Inscriptions") or (strlen($passlist)>=1))
{
//on lit le fichier ../result.lst
//$fp = fopen("../result.lst","r");
//while (!feof($fp))
//{
//$ligne = fgets($fp,400096);
//$email = explode("|",$ligne);
//}
//fclose($fp);
// début de la modification
$contenu_fichier = file_get_contents ("../result.lst");
$email = explode("|", $contenu_fichier); //convertir le texte lu en tableau
// fin de cette modification
if(sizeof($email) >1){echo("<h3 align='center'>Cocher les adresses à supprimer</h3><form method='post' action='index.php?menu_admin=admin'><p> </p><table width='40%' border='1' align='center'>");}else{echo("<p align='center'><font color='#AE0000'><b>Aucun inscrit dans la liste de diffusion ! </b></font></p>");}
for($x=0;$x < sizeof($email)-1;$x++){$y = $x+1;echo("<tr><td width='5%' bgcolor='#0099CC'><input type='checkbox' name='checkbox$x'></td><td width='10%' bgcolor='#999999'><div align='center'><font color='#000000'>$y</font></div></td><td width='95%' bgcolor='#CCCCCC'><a href='mailto:$email[$x]'>$email[$x]</a></td></tr>");}
if(sizeof($email) >1){echo("</table><div align='center'><p><b>Mot de passe : </b><br> <input type='password' name='passlist'><br> <br><input type='submit' name='submit' value='Supprimer'></div></form><p> </p>");}
}
//Interface ajout lettre distant
if($menu == "Envoyer une lettre") // distant
{
$cpt3 = 0;
$handle=opendir("newsletter");
while ($file2 = readdir($handle))
{if (ereg(".html$",$file2)or ereg(".htm$",$file2) or ereg(".txt$",$file2))
{$filelist[$cpt3]=$file2;$cpt3++;}
}
echo("<div align='center'><p><font color='#AE0000'><b><font size='4'>ENVOYER UNE LETTRE D'INFO</font></b></font></p><form method='post' action='admin.php'><h4>NOTEZ: pas d'apostrophe dans le sujet</h4>Sujet : <input type='text' name='sujet'><p>Fichier : (html, htm, txt)<br><br><select name='file'>");
for($x=0;$x < sizeof($filelist);$x++)
{echo("<option>newsletter/$filelist[$x]</option>");}
echo("</select><br><br><input type='submit' name='submit' value='Apercu'></p></form><p> </p></div>");
}
//Interface Apercu avant envoi(resultat de la requete ajout lettre)
if(strlen($file)>=1 && strlen($sujet)>=1 && $pass2!=1)
{
$file = str_replace("\\","/",$file);
$file = str_replace("//","/",$file);
$fp = fopen("$file","r");
while (!feof($fp)){$page .= fgets($fp,6096);}
fclose($fp);
if(ereg(".txt$",$file)){$page = str_replace("\n","<br>",$page);}
echo("<div align='center'><font color='#AE0000'><b>APERCU AVANT ENVOI<br><br><b> SUJET : $sujet</b><br></b></font><table width='75%' border='1'><tr><td>$page</td></tr></table>");
echo("<form method='post' action='admin.php?file=$file&&sujet=$sujet&&pass2=1'><p><b>Mot de passe : </b><br><input type='password' name='passsend'></p><p><input type='submit' name='submit' value='Envoyer'></p></form><p> </p></div>");
}
/// prévoir le cas où le sujet est vide pour informer l'administrateur
if(strlen($file)>=1 && strlen($sujet)<1 && $pass2!=1) {
echo("<div align='center'><font color='#AE0000'><b>APERCU AVANT ENVOI IMPOSSIBLE<br><br><b> IL MANQUE LE SUJET</b><br></b></font>");
}
//resultat de la requête apercu avant envoi
if($passsend)
{
if ($passsend != $variable[0]){echo("<div align='center'><p><font size='5' color='#FF0000'>Mot de passe incorrect</font></p></div>");$pass2=0;}
if ($passsend == $variable[0])
{
//$fp = fopen("../result.lst","r");
//while (!feof($fp))
// {$ligne = fgets($fp,400096);
// $email = explode("|",$ligne);}
//fclose($fp);
// début de la modification
$contenu_fichier = file_get_contents ("../result.lst");
$email = explode("|", $contenu_fichier); //convertir le texte lu en tableau
// fin de cette modification
$fp = fopen("$file","r");
while (!feof($fp)){$page .= fgets($fp,6096);}
fclose($fp);
if(ereg(".txt$",$file)){$page = str_replace("\n","<br>",$page);}
$cptmail = 0;
$entetemail = 'MIME-Version: 1.0' . "\r\n";
$entetemail .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$entetemail .= 'From: Client <[email protected]>' . "\r\n";
for($x=0;$x <= sizeof($email)-2;$x++){$adressed = "<a href='$variable[1]?id=$email[$x]'>$variable[1]?id=$email[$x]</a>";$code = "<hr><div align='left'><p><font color='#FF0000'>Pour vous désabonner de notre newsletter, cliquez sur le lien ci dessous :</font><br>";$courrier = $email[$x];mail("$courrier","$sujet","$page$code$adressed",$entetemail);$cptmail++;}
}
}
//resultat de la requete envoyer la lettre
// etc...
et ça ne marche toujours pas sur le serveur... j'affiche seulement 147 emails alors qu'en local je les vois tous (on ne parle que d'affichage... j'ai pas testé l'envoi)
Encore merci !
oui mais ce n'est pas lors de l'envoi des emails que je bloque sur le serveur... c'est seulement pour l'affichage des emails.
J'ai commencé à corriger mon script... et voici ce que j'ai maintenant (les lignes commentées sont les anciennes lignes de code)
[php]
if ($passlist == $variable[0])
{
//on lit le fichier ../result.lst
//$fp = fopen("../result.lst","r");
//while (!feof($fp))
//{
//$ligne = fgets($fp,400096);
//$email = explode("|",$ligne);
//}
//fclose($fp);
// début de la modification
$contenu_fichier = file_get_contents ("../result.lst");
$email = explode("|", $contenu_fichier); //convertir le texte lu en tableau
// fin de cette modification
$cpt=0;
for($x=0;$x < sizeof($email)-1;$x++)
{
$resultat = "checkbox$x";
if($$resultat){}else{$email2[$cpt] = $email[$x];$cpt++;}
}
$fp = fopen("../result.lst","w+");
for($x=0;$x <= sizeof($email2)-1;$x++)
{fputs($fp,"$email2[$x]");fputs($fp,"|");}
fclose($fp);
}
if ($passlist != $variable[0] && strlen($passlist) >=1)
{echo("<div align='center'><font size='5' color='#FF0000'>Mot de passe incorect</font></div>");}
//Interface Voir et effacer liste de diffusion
if (($menu == "Voir Effacer Inscriptions") or (strlen($passlist)>=1))
{
//on lit le fichier ../result.lst
//$fp = fopen("../result.lst","r");
//while (!feof($fp))
//{
//$ligne = fgets($fp,400096);
//$email = explode("|",$ligne);
//}
//fclose($fp);
// début de la modification
$contenu_fichier = file_get_contents ("../result.lst");
$email = explode("|", $contenu_fichier); //convertir le texte lu en tableau
// fin de cette modification
if(sizeof($email) >1){echo("<h3 align='center'>Cocher les adresses à supprimer</h3><form method='post' action='index.php?menu_admin=admin'><p> </p><table width='40%' border='1' align='center'>");}else{echo("<p align='center'><font color='#AE0000'><b>Aucun inscrit dans la liste de diffusion ! </b></font></p>");}
for($x=0;$x < sizeof($email)-1;$x++){$y = $x+1;echo("<tr><td width='5%' bgcolor='#0099CC'><input type='checkbox' name='checkbox$x'></td><td width='10%' bgcolor='#999999'><div align='center'><font color='#000000'>$y</font></div></td><td width='95%' bgcolor='#CCCCCC'><a href='mailto:$email[$x]'>$email[$x]</a></td></tr>");}
if(sizeof($email) >1){echo("</table><div align='center'><p><b>Mot de passe : </b><br> <input type='password' name='passlist'><br> <br><input type='submit' name='submit' value='Supprimer'></div></form><p> </p>");}
}
//Interface ajout lettre distant
if($menu == "Envoyer une lettre") // distant
{
$cpt3 = 0;
$handle=opendir("newsletter");
while ($file2 = readdir($handle))
{if (ereg(".html$",$file2)or ereg(".htm$",$file2) or ereg(".txt$",$file2))
{$filelist[$cpt3]=$file2;$cpt3++;}
}
echo("<div align='center'><p><font color='#AE0000'><b><font size='4'>ENVOYER UNE LETTRE D'INFO</font></b></font></p><form method='post' action='admin.php'><h4>NOTEZ: pas d'apostrophe dans le sujet</h4>Sujet : <input type='text' name='sujet'><p>Fichier : (html, htm, txt)<br><br><select name='file'>");
for($x=0;$x < sizeof($filelist);$x++)
{echo("<option>newsletter/$filelist[$x]</option>");}
echo("</select><br><br><input type='submit' name='submit' value='Apercu'></p></form><p> </p></div>");
}
//Interface Apercu avant envoi(resultat de la requete ajout lettre)
if(strlen($file)>=1 && strlen($sujet)>=1 && $pass2!=1)
{
$file = str_replace("\\","/",$file);
$file = str_replace("//","/",$file);
$fp = fopen("$file","r");
while (!feof($fp)){$page .= fgets($fp,6096);}
fclose($fp);
if(ereg(".txt$",$file)){$page = str_replace("\n","<br>",$page);}
echo("<div align='center'><font color='#AE0000'><b>APERCU AVANT ENVOI<br><br><b> SUJET : $sujet</b><br></b></font><table width='75%' border='1'><tr><td>$page</td></tr></table>");
echo("<form method='post' action='admin.php?file=$file&&sujet=$sujet&&pass2=1'><p><b>Mot de passe : </b><br><input type='password' name='passsend'></p><p><input type='submit' name='submit' value='Envoyer'></p></form><p> </p></div>");
}
/// prévoir le cas où le sujet est vide pour informer l'administrateur
if(strlen($file)>=1 && strlen($sujet)<1 && $pass2!=1) {
echo("<div align='center'><font color='#AE0000'><b>APERCU AVANT ENVOI IMPOSSIBLE<br><br><b> IL MANQUE LE SUJET</b><br></b></font>");
}
//resultat de la requête apercu avant envoi
if($passsend)
{
if ($passsend != $variable[0]){echo("<div align='center'><p><font size='5' color='#FF0000'>Mot de passe incorrect</font></p></div>");$pass2=0;}
if ($passsend == $variable[0])
{
//$fp = fopen("../result.lst","r");
//while (!feof($fp))
// {$ligne = fgets($fp,400096);
// $email = explode("|",$ligne);}
//fclose($fp);
// début de la modification
$contenu_fichier = file_get_contents ("../result.lst");
$email = explode("|", $contenu_fichier); //convertir le texte lu en tableau
// fin de cette modification
$fp = fopen("$file","r");
while (!feof($fp)){$page .= fgets($fp,6096);}
fclose($fp);
if(ereg(".txt$",$file)){$page = str_replace("\n","<br>",$page);}
$cptmail = 0;
$entetemail = 'MIME-Version: 1.0' . "\r\n";
$entetemail .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$entetemail .= 'From: Client <
[email protected]>' . "\r\n";
for($x=0;$x <= sizeof($email)-2;$x++){$adressed = "<a href='$variable[1]?id=$email[$x]'>$variable[1]?id=$email[$x]</a>";$code = "<hr><div align='left'><p><font color='#FF0000'>Pour vous désabonner de notre newsletter, cliquez sur le lien ci dessous :</font><br>";$courrier = $email[$x];mail("$courrier","$sujet","$page$code$adressed",$entetemail);$cptmail++;}
}
}
//resultat de la requete envoyer la lettre
// etc...
[/php]
et ça ne marche toujours pas sur le serveur... j'affiche seulement 147 emails alors qu'en local je les vois tous (on ne parle que d'affichage... j'ai pas testé l'envoi)
Encore merci !