Phpmailer

Résolu
little_programmeur Messages postés 58 Statut Membre -  
Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour :p
J'essaye d'envoyer un message avec phpmailer. J'ai cependant un message d'erreur :
Code : Console

The following From address failed: tbtous@gmail.com

Et voila mon code entier :

<?php
include("nouv/dtd.html");
echo "Envoyer un mail avec phpmailer";
include("nouv/menu.html");
?>
<div class="corps">
test
<?php

require "phpmailer/class.phpmailer.php";
echo "Envoyer un mail avec phpmailer1<br />";
$mail = new PHPmailer();
echo "Envoyer un mail avec phpmailer2<br />";
$mail->IsSMTP();
echo "Envoyer un mail avec phpmailer3<br />";
$mail->Host='smtp.gmail.com';
echo "Envoyer un mail avec phpmailer4<br />";
$mail->From='tbtous@gmail.com';
echo "Envoyer un mail avec phpmailer5<br />";
$mail->AddAddress('tbtous@gmail.com');
echo "Envoyer un mail avec phpmailer6<br />";
$mail->AddReplyTo('tbtous@gmail.com');
echo "Envoyer un mail avec phpmailer7<br />";
$mail->Subject='Exemple trouvé sur DVP';
echo "Envoyer un mail avec phpmailer8<br />";
$mail->SetLanguage("en", "phpmailer/language/");
$mail->Body='Voici un exemple d\'e-mail au format Texte';
echo "Envoyer un mail avec phpmailer9<br />";
if(!$mail->Send()){ //Teste le return code de la fonction
echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
}
else{
echo 'Mail envoyé avec succès';
}
$mail->SmtpClose();
unset($mail);
echo "Envoyer un mail avec phpmailer10<br />";

?>
</div>
</body>
</html>


Comment réparer cette erreur ?

Merci d'avance ^^
Configuration: Windows XP
Firefox 1.0.7

12 réponses

  1. little_programmeur Messages postés 58 Statut Membre 4
     
    Je vois ce que tu veux dire. Merci. J'ai cependant une dernière question : comment faire pour que le message soit envoyé en format html ? Lorsque je tape ceci :
    $msg = '<h1>Demande de partition</h1><p><strong>Adresse mail de l\'expéditeur : </strong>';
    $msg .= stripslashes(htmlspecialchars($_POST['mail']));
    $msg .= '<br /><strong>Titre de la partition : </strong>';
    $msg .= stripslashes(htmlspecialchars($_POST['titre']));
    $msg .= '<br /><strong>Compositeur : </strong>';
    $msg .= stripslashes(htmlspecialchars($_POST['compositeur']));
    $msg .= '<br /><strong>Instruments : </strong>';
    $msg .= implode(', ', $_POST["instrument"]);
    $msg .= '<br /><strong>Autres instruments : </strong>';
    $msg .= stripslashes(htmlspecialchars($_POST['autre']));
    $msg .= '<br /><strong>Notes : </strong>';
    $msg .= nl2br(stripslashes(htmlspecialchars($_POST['notes'])));
    require "phpmailer/class.phpmailer.php";
    $mail = new PHPMailer();
    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->SMTPAuth = true; // turn on SMTP authentication
    $mail->Host = "smtp.laposte.net"; // SMTP server
    $mail->Username = "sites.web";
    $mail->Password = "gfd";
    $mail->From = "sites.web@laposte.net";
    $mail->AddAddress("tbtous@gmail.com");
    $mail->Subject = "First PHPMailer Message";
    $mail->Body = $msg;

    $mail->AddAttachment('uploads/'.$_FILES['monfichier']['name'].'');
    $mail->WordWrap = 50;

    if(!$mail->Send())
    {
    echo 'Le message n\'a pas pu être envoyé';
    echo 'Erreur Mailer : ' . $mail->ErrorInfo;
    }
    else
    {
    echo 'Félicitation ! Le message à bien été envoyé. Vous recevrez la partition finale dans une semaine à un mois.';
    }

    J'ai le message suivant qui apparait lorsque j'ouvre mon message :
    <h1>Demande de partition</h1><p><strong>Adresse
    mail de l'expéditeur : </strong>d<br
    /><strong>Titre de la partition : </strong>d<br
    /><strong>Compositeur : </strong>d<br
    /><strong>Instruments :
    </strong>guitareseche_accords<br /><strong>Autres
    instruments : </strong>h<br /><strong>Notes :
    </strong>Si vous voulez indiquer quelque chose de
    spécial, c'est ici !

    Au lieu d'avoir écrit en gros...

    Comment faire ?

    Merci d'avance.
    2
  2. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    t'as essayé en ne mettant pas la meme adresse dans le from et dans le to ?
    0
  3. little_programmeur Messages postés 58 Statut Membre 4
     
    Oui, mais ça ne fonctionne pas. Toujours la même erreur.

    D'autres idées ?

    Est-ce que ça peux venir de Gmail qui n'accèpte pas d'envoyer un message depuis un serveur distant ?
    0
  4. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    c'est vrai que gmail utilise l'authentification. Et dans ton scipt, on ne voit à aucun moment de mot de pass..
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. little_programmeur Messages postés 58 Statut Membre 4
     
    J'ai mis une autentification, mais ca ne fonctionne toujours pas :
    <?php
    include("nouv/dtd.html");
    echo "Envoyer un mail avec phpmailer";
    include("nouv/menu.html");
    ?>
    <div class="corps">
    test
    <?php

    require "phpmailer/class.phpmailer.php";
    echo "Envoyer un mail avec phpmailer1<br />";
    $mail = new PHPmailer();
    echo "Envoyer un mail avec phpmailer2<br />";
    $mail->IsSMTP();
    echo "Envoyer un mail avec phpmailer3<br />";
    $mail->Host='smtp.gmail.com';
    echo "Envoyer un mail avec phpmailer4<br />";
    $mail->Username = "tbtous";
    $mail->Password = "motdepasse";
    $mail->From='tbtous@gmail.com';
    echo "Envoyer un mail avec phpmailer5<br />";
    $mail->AddAddress('tbtous@gmail.com');
    echo "Envoyer un mail avec phpmailer6<br />";
    $mail->AddReplyTo('tbtous@gmail.com');
    echo "Envoyer un mail avec phpmailer7<br />";
    $mail->Subject='Exemple trouvé sur DVP';
    echo "Envoyer un mail avec phpmailer8<br />";
    $mail->SetLanguage("en", "phpmailer/language/");
    $mail->Body='Voici un exemple d\'e-mail au format Texte';
    echo "Envoyer un mail avec phpmailer9<br />";
    if(!$mail->Send()){ //Teste le return code de la fonction
    echo $mail->ErrorInfo; //Affiche le message d'erreur (ATTENTION:voir section 7)
    }
    else{
    echo 'Mail envoyé avec succès';
    }
    $mail->SmtpClose();
    unset($mail);
    echo "Envoyer un mail avec phpmailer10<br />";

    ?>
    </div>
    </body>
    </html>


    Voyez vous une erreur ?

    --EDIT--
    C'est bon, ça fonctionne en partie : j'arrive à faire ceci avec un serveur laposte... mais pas avec Gmail.

    Comment faire pour pouvoir utiliser une adresse Gmail ?

    Merci d'avance
    0
  7. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    il est fréquent que l'accès au smtp qui ne soient pas ceux de ton FAI soit bloqué.
    1- es ce que tu héberges le site chez toi? ou chez qui héberges tu le site (et quelle formule d'abonnement)
    2- si tu héberges toi meme, qui est ton FAI?
    3- vas dans executer, tapes cmd , puis, dans la fenetre noire, tapes telnet smtp.gmail.com 25 , puis la touche entrée , et regardes si le serveur te dis helle ou si la connexion est refusée ...
    0
  8. little_programmeur Messages postés 58 Statut Membre 4
     
    C'est bon, ça fonctionne en partie : j'arrive à faire ceci avec un serveur laposte... mais pas avec Gmail.

    Pour répondre à ta question :
    1) Je suis hébergé sur olympe-network, avec un abonnement gratuit.
    2)je ne m'héberge pas moi même
    3)Je ne peux pas faire exécuter, car je ne sais pas comment accéder à cette commande via O-N avec olympe network.

    Comment faire pour pouvoir utiliser une adresse Gmail ?
    0
    1. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
       
      la commande était si tu étais hébergé toi meme, j'ai pas précisé...

      ton hébergeur ne te propose pas son propre serveur smtp ? car en smtp, c'est toi qui choisis l'adresses d'expéditeur à afficher....

      es ce que l'adresse mail dans les exemples est ta vrai adresse ?
      0
  9. little_programmeur Messages postés 58 Statut Membre 4
     
    Oui, c'est la vrai adresse. Et mon herbergeur me propose un SMTP. Je pourrais en effet l'utiliser.

    Mais je n'arrive pas à utiliser la mise en page html : Y a t'il un pb dans mon code ?

    require "phpmailer/class.phpmailer.php";
    $mail = new PHPMailer();
    $mail->IsSMTP(); // telling the class to use SMTP
    $mail->SMTPAuth = true; // turn on SMTP authentication
    $mail->Host = "smtp.laposte.net"; // SMTP server
    $mail->Username = "sites.web";
    $mail->Password = "fdsg";
    $mail->From = "sites.web@laposte.net";
    $mail->AddAddress("sites.web@laposte.net");
    $mail->Subject = "First PHPMailer Message";
    //$mail->Body = $msg;
    $mail->Body='<html><body><center><font size=8>Le fichier est attaché ci-dessus</font><br></body></html>';
    $mail->AddAttachment('uploads/'.$_FILES['monfichier']['name'].'');
    $mail->WordWrap = 50;

    if(!$mail->Send())
    {
    echo 'Le message n\'a pas pu être envoyé';
    echo 'Erreur Mailer : ' . $mail->ErrorInfo;
    }
    else
    {
    echo 'Félicitation ! Le message à bien été envoyé. Vous recevrez la partition finale dans une semaine à un mois.';
    }

    Merci d'avance
    0
  10. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    ce que je voulais dire, c'est que si tu veux les réponses sur ton adrese gmail, tu peux faire ca:
    $mail->Host = "smtp.laposte.net"; // SMTP server
    $mail->Username = "sites.web";
    $mail->Password = "fdsg";
    $mail->From = "tbtous@gmail.com";
    $mail->AddAddress("tbtous@gmail.com");
    0
  11. little_programmeur Messages postés 58 Statut Membre 4
     
    C'est bon, j'ai trouvé ou est l'erreur : j'avais oublié de mettre $mail->IsHTML(true);

    Merci beaucoup.
    0
  12. Nabla's Messages postés 18201 Date d'inscription   Statut Contributeur Dernière intervention   3 228
     
    ok.
    visiblement le probleme est résolu, je le met en résolu
    0