Phpmailer

Résolu/Fermé
little_programmeur Messages postés 54 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 juin 2019 - 25 mai 2009 à 13:50
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 - 28 mai 2009 à 11:56
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 ^^

12 réponses

little_programmeur Messages postés 54 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 juin 2019 4
26 mai 2009 à 17:56
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 mai 2009 à 13:58
t'as essayé en ne mettant pas la meme adresse dans le from et dans le to ?
0
little_programmeur Messages postés 54 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 juin 2019 4
25 mai 2009 à 15:59
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
25 mai 2009 à 16:04
c'est vrai que gmail utilise l'authentification. Et dans ton scipt, on ne voit à aucun moment de mot de pass..
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
little_programmeur Messages postés 54 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 juin 2019 4
26 mai 2009 à 09:09
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mai 2009 à 09:22
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
little_programmeur Messages postés 54 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 juin 2019 4
26 mai 2009 à 09:26
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mai 2009 à 09:29
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
little_programmeur Messages postés 54 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 juin 2019 4
26 mai 2009 à 09:56
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mai 2009 à 09:59
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
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
26 mai 2009 à 18:04
ce n'est pas la meme fonction, mais:
https://www.php.net/manual/en/function.mail.php

eux, mettent la balise <html><body> puis </body> </html> que tu semble avoir oublié....
0
little_programmeur Messages postés 54 Date d'inscription mercredi 28 janvier 2009 Statut Membre Dernière intervention 27 juin 2019 4
27 mai 2009 à 18:01
C'est bon, j'ai trouvé ou est l'erreur : j'avais oublié de mettre $mail->IsHTML(true);

Merci beaucoup.
0
Nabla's Messages postés 18203 Date d'inscription mercredi 4 juin 2008 Statut Contributeur Dernière intervention 28 avril 2014 3 192
28 mai 2009 à 11:56
ok.
visiblement le probleme est résolu, je le met en résolu
0