script mail qui ne marche pas bien

guigui777
script mail qui ne marche pas bien

Salut a tous ,
j'ai un problème sur ce script que veut débuguer depuis maintenant une semaine.

<?php
if (isset($_POST['nom']) AND isset($_POST['titre']) AND isset($_POST['message'])) // Si les variables existent
{
if ($_POST['nom'] != NULL AND $_POST['titre'] != NULL AND $_POST['message'] != NULL) // Si on a quelque chose à enregistrer
{


// On utilise les fonctions PHP mysql_real_escape_string et htmlspecialchars pour la sécurité. On stocke dabord les differentes données écrites sans les mettre à la BDD
$nom = mysql_real_escape_string(htmlspecialchars($_POST['nom']));
$titre = mysql_real_escape_string(htmlspecialchars($_POST['titre']));
$message = mysql_real_escape_string(htmlspecialchars($_POST['message']));

}
}





// On utilise la requête suivante pour prendre les emails,les noms des étudiants et leur filièere
$reponse11 = mysql_query("SELECT * FROM membres ")or die(mysql_error());



// Puis on fait une boucle pour afficher tous les résultats :
while ($donnees11 = mysql_fetch_array($reponse11) )
{

// Fin de la boucle, le sc
// Variables

$to=$donnees11['email'];
$from="From:aescienciz@s348077018.onlinehome.us\r\n";
$from.="MIME-Version: 1.0\r\n";
$from.="Content-Type: text/html; charset=fr-ascii\r\n";
$sujet=$titre;
$message1 = '<html><table style="text-align: left; width: 532px; height: 74px;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 108px;">
<a href="www.aescienciz.com"><img style="border: 0px solid ; width: 100px; height: 57px;" alt="" src="../lettre/logoofficiel.jpg"></a>
</td>
<td style="width: 404px;">
<img style="width: 496px; height: 53px;" alt="" src="../lettre/menup.jpg"></td>
</tr>
</tbody>
</table>
<br>
<table style="text-align: left; width: 730px; height: 117px;" border="0" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td style="width: 102px;">
<img style="width: 100px; height: 100px;" alt="" src="../lettre/152226.jpg">
</td>
<td style="width: 21px;">
<img style="width: 16px; height: 99px;" alt="" src="../lettre/bulle.gif">
</td>
<td style="width: 602px;">
<span style="font-weight: bold; color: black;">
<h3>'.$sujet.'</h3><br/>'.$message.'<br/>
Auteur: '.$nom.'<br/>
</tr>
</tbody>
</table>
<br>
<br>
<br>
<br>
<br>
<table style="text-align: left; width: 100%;" cellpadding="2" cellspacing="2">
<tbody>
<tr>
<td>Vous avez reçu ce mail en temps que membre inscrit dans
le site aescienciz.com<br>
Rendez-vous sur le site www.aescienciz.com pour plus d\'informations non
sitées dans ce message. <br>
Ce mail est envoyé automatiquement par un robot donc vous êtes priés de
ne pas répondre à ce mail.<br>
<span style="font-weight: bold; color: rgb(102, 51, 255);">La
commission du site.<br>Merci!</span>.
</td>
</tr>
</tbody>
</table>
<br>

</html>';


//appel de la fonction mail (envoi)
$resultat = mail($to,$sujet,$message1,$from);

}
if($resultat) // Correspond à if($resultat == true)
{
?>
<p>Message envoyé avec succès. <A HREF="javascript:window.history.back()">Cliquez ici
pour revenir à votre page</A></p>
<?php
}
else
{
echo 'Personne ne s\'est inscrit encore dans le site .<A HREF="javascript:window.history.back()">Cliquez ici
pour revenir à votre page</A>';
}

// Fermons php et affichons le formualaire


?>


IL m'affiche toujours que"Personne n'est inscript" mais pourtant en testant avec un écho je constate que les email des destinataires sont bien vu par le script mais ils ne lès envoi pas.Qu'est ce qui ramm.Aidez-moi

nbl
Re: script mail qui ne marche pas bien

Bonjour,

1° conseil :

if (isset($_POST['nom']) AND isset($_POST['titre']) AND isset($_POST['message']))

if(isset($_POST['nom'], $_POST['titre'], $_POST['message']))

2° conseil :

if ($_POST['nom'] != NULL AND $_POST['titre'] != NULL AND $_POST['message'] != NULL)

if(!empty($_POST['nom']) && !empty($_POST['titre']) && !empty(POST['message']))

Je t'invite à consulter la documentation php sur php.net afin de te familiariser avec les fonctions isset() et empty() !

RichardB
Re: script mail qui ne marche pas bien

Pour déboguer ce genre de problème, je te conseilles de partir du début, et de rajouter les couches de complexité au fur et à mesure.
C'est à dire commencer par envoyer un mail tout simple, en texte, à une adresse fixe (en dur). Comme ça tu sauras au moins si la fonction mail fonctionne.
Il y a des paramètres à renseigner dans php.ini : le serveur smtp, le port, et l'expéditeur (rubrique [mail function])