Envois des e-mail avec php
                                    
                        Profil bloqué                    
                                    -
                                     
Utilisateur anonyme -
        Utilisateur anonyme -
        Bonjour,
j'ai créé une page web qui sert à envoyer les e-mails à nos clients mais je ne parviens pas à envoyer un message.
Voici le code HTML :
Et voici le code PHP:
Je vous prie de m'aider pour que je parvienne à envoyer un message à mes client ou ami.
Merci d'avance à tous
Voici le message d'erreur:
Could not instantiate mail function.
                
            
                
    
    
    
        j'ai créé une page web qui sert à envoyer les e-mails à nos clients mais je ne parviens pas à envoyer un message.
Voici le code HTML :
<html>
 <head>
  <title>Page d'envois des messages éléctroniques</title>
 </head>
 <body style="background-color:teal; font-size:12px; font-familly:verdana; padding-top:50px;padding-left:200px">
  <form action="#" Method="POST" style="background-color:orange;width:650px">
   <table>
    <tr>
  <td>Adresse de l'expediteur</td><td><select name="exp" style="width:125px; height:25px" >
   <?php
    include("connexion.php");
    $req=$bdd->query("select* from personnel");
    while($data=$req->fetch())
    {
     echo'<option value="'.$data['Email'].'">'.$data['Email'].'</option>';
    }
   ?>
  </select></td>
 </tr>
 <tr>
  <td>Adresse du destinataire</td><td><input type="text" name="dest" value="" style="width:130px; height:25px" maxlength="100px"></td>
 </tr>
 <tr>
  <td>Sujet</td><td><input type="text" name="su" value="" style="width:130px; height:25px"></td>
 </tr>
 <tr>
  <td>Contenu du message</td><td><textarea cols="35" rows="5" name="ob" maxlength="200px"></textarea></td>
 </tr>
 <tr>
  <td><input type="submit" name="ok" value="Envoyer" style="background-color:blue;color:yellow;width:150px; height:50px; font-size:25px;font-familly:verdana"></td>
 </tr>
   </table>
   <?php
    if(isset($_POST['ok']))
 {
  include("executer/envoisMail.php");
 }
   ?>
  </form>
 </body>
</html>
Et voici le code PHP:
<?php
 //On va chercher la définition de la classe
 require("class.phpmailer.php");
 include("connexion.php");
 $exp=$_POST['exp'];
 $dest=$_POST['dest'];
 $su=$_POST['su'];
 $ob=$_POST['ob'];
 
 //La requête de recuperation du Nom et Prenom de l'expeditaire
 $req=$bdd->query("select Nom,Prenom from personnel where Email='$exp'");
 $data=$req->fetch();
 $nom=$data['Nom'];
 $prenom=$data['Prenom'];
 
 //On va créé une nouvelle instance de la classe
 $mail=new PHPMailer();
 //De qui vient le message, e-mail puis nom
 $mail->From=$exp;
 $mail->FromName=$nom;
 
 //Définition du sujet/objet
 $mail->Subject=$su;
 
 //On lit le contenu d'une page html
 $body=file_get_contents('messages.php');
 
 //On definit le contenu de cette page comme message
 $mail->MsgPHP($body);
 
 //On pourra définir un message alternatif pour les boîtes de messagerie n'acceptant pas le html
 $mail->AltBody="Ce message est au format HTML, votre messagerie n'accepte pas ce format.";
 
 //Il reste encore à ajouter au moins un destinataire (ou plus, par plusieurs appel à cette methode)
 $mail->AddAddress($dest."Bonjour");
 
 //Pour finir, on envoi l'e-mail
 $mail->send();
 
?>
Je vous prie de m'aider pour que je parvienne à envoyer un message à mes client ou ami.
Merci d'avance à tous
Voici le message d'erreur:
Could not instantiate mail function.
        A voir également:         
- Envois des e-mail avec php
- É majuscule - Guide
- Windows live mail - Télécharger - Mail
- Publipostage mail - Accueil - Word
- Adresse e-mail oubliée ? - Guide
- Comment télécharger un mail - Guide
13 réponses
                        
                    ceci vient d'être corrigé, il reste une seule ligne que j'ai précisé apres la modification du message.
                
                
    
                
                        
                    la balise de code s'il te plait !
Edit ton message, et au lieu de mettre en gras, utilise la balise code, tu peux même choisir le type de code, merci pour nous ^^
    
                Edit ton message, et au lieu de mettre en gras, utilise la balise code, tu peux même choisir le type de code, merci pour nous ^^
                        
                    Bonjour
C'est =, pas ->
Faut pas se laisser emporter par la syntaxe objet quand il ne s'agit pas d'objet !
    
                $body = file_get_contents('messages.php');
C'est =, pas ->
Faut pas se laisser emporter par la syntaxe objet quand il ne s'agit pas d'objet !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    je viens de le faire et merci d'avance...
je suis vraiment à la recherche de la resolution de ce probleme,
    
                je suis vraiment à la recherche de la resolution de ce probleme,
                        
                    Oui, c'est vrai  mais si vous regardez bien dans les codes , je viens de corriger cette erreur mais la question reste à resoudre l'instatiation de la fonction mail et voici le message d'erreur qui reste:Could not instantiate mail function. 
                
                
    
                
                        
                    Déjà, cette ligne me semble suspecte :
On se demande un peu ce que le "Bonjour" vient faire ici !
Sinon, les paramètres de ton serveur de mail (type, hôte) sont-ils bien définis ? Travailles-tu en local ou en ligne ?
    
                $mail->AddAddress($dest."Bonjour");
On se demande un peu ce que le "Bonjour" vient faire ici !
Sinon, les paramètres de ton serveur de mail (type, hôte) sont-ils bien définis ? Travailles-tu en local ou en ligne ?
                        
                    Merci d'utiliser "Répondre au sujet" pour répondre et n'utiliser "Ajouter un commentaire" que quand il s'agit de commentaire
Il faut savoir que PHP n'envoie pas de mails par lui-même, mais fait appel à un service extérieur, souvent un serveur SMTP.
Ce serveur SMTP peut lui aussi être local (mais je doute que tu en aies installé un) ou bien celui de ton fournisseur d'accès Internet. Il faut indiquer tout ça à phpMailer pour qu'il puisse envoyer tes mails.
Peux-tu dire si tu as toujours le même message d'erreur ou un autre, et sur quelle ligne ?
    
                Il faut savoir que PHP n'envoie pas de mails par lui-même, mais fait appel à un service extérieur, souvent un serveur SMTP.
Ce serveur SMTP peut lui aussi être local (mais je doute que tu en aies installé un) ou bien celui de ton fournisseur d'accès Internet. Il faut indiquer tout ça à phpMailer pour qu'il puisse envoyer tes mails.
$mail->IsSMTP(); // pour dire d'utiliser SMTP $mail->Host='smtp.free.fr'; // nom du serveur SMTP. dépend de ton fournisseur d'accès $mail->Port=25; // port standard SMTP
Peux-tu dire si tu as toujours le même message d'erreur ou un autre, et sur quelle ligne ?
                        
                    Bonjour TheBiShOp
Je viens de voir ton commentaire. C'est très flatteur, merci, mais sûrement largement excessif.
    
                Je viens de voir ton commentaire. C'est très flatteur, merci, mais sûrement largement excessif.
                        
                    Il va falloir que j'essaye ton script pour voir si je peux reproduire cette erreur, car je ne l'ai jamais vue.
En attendant, je remarque ceci :
Or, il n'y a aucun 'exp' dans ton formulaire. Le champ From ( $mail -> From=$exp;) est donc incorrect
essaye
Pour avoir une adresse d'expéditeur correcte
    
                En attendant, je remarque ceci :
$exp=$_POST['exp'];
Or, il n'y a aucun 'exp' dans ton formulaire. Le champ From ( $mail -> From=$exp;) est donc incorrect
essaye
$exp='monadresse@monfai.fr';
Pour avoir une adresse d'expéditeur correcte
