Script d'envoi mail qui ne marche pas

guigui777 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   -  
guigui777 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Salut à tous j'ai faiit un script d'envoi mail en php qui ne fonctionne pas.S'il vous plait je vous le poste pour que vos m'y aidiez car je galère dessus depuis deux jours et cela sans résultat.

<?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 me signale que personne n'est inscrit comme jè prévu au cas où. Jai tester avec les echo et je constate que le script voi bien des email dans la bdd mais n'envoi pas de messsage à ces emails.aidez moi .merci

A voir également:

3 réponses

lanlet
 
l'erreur vient peut être du destinataire ($to=$donnees11['email']; affiches quoi? si cest plusieurs email ou un tableau je voit pas pourquoi ça marcherait vu que la fonction mail demandes une chaîne correspondant au destinataire et non plusieurs)
... et il vaudrait mettre la fonction mail() dans une boucle comme ça si il y a une seule erreur lors des envois ça bloques pas tout.

Cette partie:
else
{
echo 'Personne ne s\'est inscrit encore dans le site .<A HREF="javascript:window.history.back()">Cliquez ici
pour revenir à votre page</A>';
}
indiques seulement que le message n'as pas été envoyé et pas qu'il n'y a pas personne d'inscrit(ce qui reviendrait à regarder si le tableau donnees est vide...). Dans le cas qui nous concernnes il faut indiquer dans le $to une chaîne de caractères correspondant à un email valide. Il me sembles que $donnees11['email'] est un tableau d'emails donc effectivement il y a erreur, puisque qu'il lui faut une chaîne...

Le plus simple est d'essayer de faire un mail correctement pour vérifier où ça bloques, si ça marche essayer avec 2 mails(dans une boucle pour faire 2X la fonction mail) puis rajouter les fonctions pour l'automatisation de la bd après, au moins tu pourras voir où est l'erreur en ciblant chaque partie.


Une erreur d'orthographe aussi sur le texte d'envoi:

"Vous avez reçu ce mail en temps que membre inscrit dans"

EN TANT pas EN TEMPS(et dans un site se dit pas tellement, au site où sur le ite à la rigueur mais je poste des messages sur CCM, je ne suit pas inscrit dans CCM).


euh tout ce code sur la même page...envoi, validation et affichage, pas très pratique à débugguer. Pourquoi pas faite 3 pages distinctes? 3 pages seront plus simple à trouver les erreurs(puisque la seule qui peut contenir des erreurs est celle du traitement), plus mofdulable et plus sécurisé(on n'affiches jamais la page qui se permet de se connecter et d'envoyer les mails).
0
guigui777 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   8
 
ok merci j'essaye
0
guigui777 Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   8
 
Lanlet quand tu dit "l'erreur vient peut être du destinataire ($to=$donnees11['email']; affiches quoi? si cest plusieurs email ou un tableau je voit pas pourquoi ça marcherait vu que la fonction mail demandes une chaîne correspondant au destinataire et non plusieurs) " Comment puis je faire pour signaler que cest plusieurs mails que je veut envoyer.Si possible en y mettant le code approprié
0