Page blanche Phpmailer
Résolu/Fermé
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
-
11 mars 2015 à 13:31
djstoun Messages postés 290 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 - 23 mars 2015 à 16:59
djstoun Messages postés 290 Date d'inscription mercredi 23 septembre 2009 Statut Membre Dernière intervention 26 mai 2023 - 23 mars 2015 à 16:59
A voir également:
- Comme ca fonction phpmailer
- Fonction si et - Guide
- Fonction moyenne excel - Guide
- Fonction somme excel - Guide
- Fonction remplacer word - Guide
- Fonction ms dos non valide - Forum Windows 8 / 8.1
8 réponses
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
11 mars 2015 à 16:15
11 mars 2015 à 16:15
Bonjour
tu as essayé de faire :
tu as essayé de faire :
if($mail->Send()){ echo "<br>Mail envoyé avec succès !"; }else{ echo "<br>ERREUR !"; }
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
12 mars 2015 à 15:32
12 mars 2015 à 15:32
Testes ça :
EDIT : Penses à mettre à jour les données qui se trouvent dans :
"AUTHENTIFICATION AU SMTP"
<?php ini_set('display_errors', '1'); error_reporting(E_ALL); echo "<pre>DEBUT DU SCRIPT<br>"; require_once('/phpmailer/class.phpmailer.php'); include("/phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $body = "Hello, \n Ceci est un test !!!"; $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "mail.yourdomain.com"; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only //*************** AUTHENTIFICATION AU SMTP *****************************// $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "mail.yourdomain.com"; // sets the SMTP server $mail->Port = 26; // set the SMTP port for the MAIL server $mail->Username = "yourname@yourdomain"; // SMTP account username $mail->Password = "yourpassword"; // SMTP account password //***********************************************************************// $mail->SetFrom('pourquivoter@yahoo.fr', 'Expéditeur'); $mail->AddReplyTo("pourquivoter@yahoo.fr","First Last"); $mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = "pourquivoter@yahoo.fr"; $mail->AddAddress($address, "pourquivoter"); if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } ?>
EDIT : Penses à mettre à jour les données qui se trouvent dans :
"AUTHENTIFICATION AU SMTP"
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
Modifié par djstoun le 13/03/2015 à 12:15
Modifié par djstoun le 13/03/2015 à 12:15
Cela me fait une page blanche où il est simplement écrit "DEBUT DU SCRIPT".
Voici mon code :
Voici mon code :
<?php ini_set('display_errors', '1'); error_reporting(E_ALL); echo "<pre>DEBUT DU SCRIPT<br>"; require_once('/phpmailer/class.phpmailer.php'); include("/phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $body = "Hello, \n Ceci est un test !!!"; $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "smtp.mail.yahoo.com"; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only //*************** AUTHENTIFICATION AU SMTP *****************************// $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "smtp.mail.yahoo.com"; // sets the SMTP server $mail->Port = 587; // set the SMTP port for the MAIL server $mail->Username = "pourquivoter@yahoo.fr"; // SMTP account username $mail->Password = "******"; // SMTP account password //***********************************************************************// $mail->SetFrom('pourquivoter@yahoo.fr', 'Expéditeur'); $mail->AddReplyTo("pourquivoter@yahoo.fr","First Last"); $mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = "pourquivoter@yahoo.fr"; $mail->AddAddress($address, "pourquivoter"); if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } ?>
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
14 mars 2015 à 14:44
14 mars 2015 à 14:44
J'en appelle aussi aux autres webmasters, phpiste etc. Si vous avez des idées...
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
14 mars 2015 à 17:53
14 mars 2015 à 17:53
C'est vraiment étrange ton truc.....
On va ajouter un peu de debug ....
On va ajouter un peu de debug ....
<?php ini_set('display_errors', '1'); error_reporting(E_ALL); $debug=0; echo "<pre>DEBUT DU SCRIPT</pre>"; $debug++; echo "<br> DEBUG :".$debug; require_once('/phpmailer/class.phpmailer.php'); include("/phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $debug++; echo "<br> DEBUG :".$debug; $body = "Hello, \n Ceci est un test !!!"; $mail = new PHPMailer(); $debug++; echo "<br> DEBUG :".$debug; $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "smtp.mail.yahoo.com"; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $debug++; echo "<br> DEBUG :".$debug; //*************** AUTHENTIFICATION AU SMTP *****************************// $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "smtp.mail.yahoo.com"; // sets the SMTP server $mail->Port = 587; // set the SMTP port for the MAIL server $mail->Username = "pourquivoter@yahoo.fr"; // SMTP account username $mail->Password = "******"; // SMTP account password //***********************************************************************// $debug++; echo "<br> DEBUG :".$debug; $mail->SetFrom('pourquivoter@yahoo.fr', 'Expéditeur'); $mail->AddReplyTo("pourquivoter@yahoo.fr","First Last"); $mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = "pourquivoter@yahoo.fr"; $mail->AddAddress($address, "pourquivoter"); $debug++; echo "<br> DEBUG :".$debug; if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } $debug++; echo "<br> DEBUG :".$debug; echo "<pre>FIN DU SCRIPT</pre>"; ?>
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
15 mars 2015 à 12:27
15 mars 2015 à 12:27
Coucou jordane45,
C'est effectivement étrange...
Cela me marque sur la page blanche :
DEBUT DU SCRIPT
DEBUG :1
C'est effectivement étrange...
Cela me marque sur la page blanche :
DEBUT DU SCRIPT
DEBUG :1
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
>
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
15 mars 2015 à 15:47
15 mars 2015 à 15:47
Donc il ne dépasse pas l'import des fichiers phpmailer...
tu es sûr du chemin ??
Testes ceci :
tu es sûr du chemin ??
Testes ceci :
<?php ini_set('display_errors', '1'); error_reporting(E_ALL); $debug=0; echo "<pre>DEBUT DU SCRIPT</pre>"; $debug++; echo "<br> DEBUG :".$debug; $phpmailerClass = "/phpmailer/class.phpmailer.php"; if(file_exists($phpmailerClass)){ echo "<br>ok : Fichier $phpmailerClass trouvé ! "; require_once($phpmailerClass); include("/phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded }else{ echo "<br>Error : Fichier $phpmailerClass non trouvé ! "; } $debug++; echo "<br> DEBUG :".$debug; $body = "Hello, \n Ceci est un test !!!"; $mail = new PHPMailer(); $debug++; echo "<br> DEBUG :".$debug; $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "smtp.mail.yahoo.com"; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $debug++; echo "<br> DEBUG :".$debug; //*************** AUTHENTIFICATION AU SMTP *****************************// $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "smtp.mail.yahoo.com"; // sets the SMTP server $mail->Port = 587; // set the SMTP port for the MAIL server $mail->Username = "pourquivoter@yahoo.fr"; // SMTP account username $mail->Password = "******"; // SMTP account password //***********************************************************************// $debug++; echo "<br> DEBUG :".$debug; $mail->SetFrom('pourquivoter@yahoo.fr', 'Expéditeur'); $mail->AddReplyTo("pourquivoter@yahoo.fr","First Last"); $mail->Subject = "PHPMailer Test Subject via smtp, basic with authentication"; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = "pourquivoter@yahoo.fr"; $mail->AddAddress($address, "pourquivoter"); $debug++; echo "<br> DEBUG :".$debug; if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } $debug++; echo "<br> DEBUG :".$debug; echo "<pre>FIN DU SCRIPT</pre>"; ?>
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
>
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
Modifié par djstoun le 16/03/2015 à 12:58
Modifié par djstoun le 16/03/2015 à 12:58
Incompréhensible... Avec le code ci-dessus, cela me marque la même chose :
DEBUT DU SCRIPT
DEBUG :1
Là, j'ai l'impression que le Php veut me "faire tourner en bourrique". Ps : J'ai enlevé les slash pour phpmailer/class.smtp.php et phpmailer/class.phpmailer.php
DEBUT DU SCRIPT
DEBUG :1
Là, j'ai l'impression que le Php veut me "faire tourner en bourrique". Ps : J'ai enlevé les slash pour phpmailer/class.smtp.php et phpmailer/class.phpmailer.php
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
>
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
16 mars 2015 à 12:48
16 mars 2015 à 12:48
TU peux faire un clic droit sur la page qui s'affiche à l'écran (celle où tu n'as que DEBUG :1 qui apparait...) et faire afficher la source puis nous la poster ici ?
(NB: je parles bien du code source (html) de la page GÉNÉRÉE ... pas de ton code php...)
(NB: je parles bien du code source (html) de la page GÉNÉRÉE ... pas de ton code php...)
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
16 mars 2015 à 12:49
16 mars 2015 à 12:49
En revanche si je fais le code tout simple :
Cela me marque bien "ok : Fichier phpmailer/class.phpmailer.php trouvé !"
<?php ini_set('display_errors', '1'); error_reporting(E_ALL); $phpmailerClass = "phpmailer/class.phpmailer.php"; if(file_exists($phpmailerClass)){ echo "<br>ok : Fichier $phpmailerClass trouvé ! "; require_once($phpmailerClass); include("phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded }else{ echo "<br>Error : Fichier $phpmailerClass non trouvé ! "; } ?>
Cela me marque bien "ok : Fichier phpmailer/class.phpmailer.php trouvé !"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
16 mars 2015 à 16:57
16 mars 2015 à 16:57
Vides bien ton cache et teste ce code :
<?php // AFFICHAGE DES ERREURS: ini_set('display_errors', '1'); error_reporting(E_ALL); /** * Fonction d'envoi de mails */ function SendMail($to,$sujet,$body){ //Include des class : $phpmailerClass = "/phpmailer/class.phpmailer.php"; if(file_exists($phpmailerClass)){ echo "<br>ok : Fichier $phpmailerClass trouvé ! "; require_once($phpmailerClass); include("/phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded }else{ echo "<br>Error : Fichier $phpmailerClass non trouvé ! "; } //-------------------------------------------------------------------------------// try{ //Objet Mail $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "smtp.mail.yahoo.com"; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only //*************** AUTHENTIFICATION AU SMTP *****************************// $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "smtp.mail.yahoo.com"; // sets the SMTP server $mail->Port = 587; // set the SMTP port for the MAIL server $mail->Username = "pourquivoter@yahoo.fr"; // SMTP account username $mail->Password = "******"; // SMTP account password //***********************************************************************// $mail->SetFrom('pourquivoter@yahoo.fr', 'Expéditeur'); $mail->AddReplyTo("pourquivoter@yahoo.fr","First Last"); $mail->Subject = $sujet; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $mail->AddAddress($to, "pourquivoter"); if(!$mail->Send()){ $result = "Mailer Error: " . $mail->ErrorInfo; }else{ $result=false; } } catch (Exception $e) { $result = '<br>Exception reçue : ' . $e->getMessage(). "\n"; } return $result; } //---------------------------------------------------------------------------------------------// echo "<pre>DEBUT DU SCRIPT</pre>"; $address = "pourquivoter@yahoo.fr"; $message = " <pre> Ceci est un message Test. </pre>"; $sujet = "Mail de Test"; // envoie du mail echo "<pre>Envoi du mail :"; $sendMail = SendMail($address,$sujet,$message); if(!$sendMail) { echo "<br> Message envoyé!"; }else{ echo "<br>".$sendMail; } echo "</pre>"; echo "<pre>FIN DU SCRIPT</pre>"; //---------------------------------------------------------------------------------------------// ?>
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
16 mars 2015 à 19:02
16 mars 2015 à 19:02
Donc voici ce que j'ai obtenu :
DEBUT DU SCRIPT
Envoi du mail :
ok : Fichier phpmailer/class.phpmailer.php trouvé !
PS : je n'ai reçu aucun mail. La fonction mail de l'hébergeur du site est indisponible. Je ne sais pas si cela vient de cela. C'est aussi pour cela que j'ai voulu passer par phpmailer
DEBUT DU SCRIPT
Envoi du mail :
ok : Fichier phpmailer/class.phpmailer.php trouvé !
PS : je n'ai reçu aucun mail. La fonction mail de l'hébergeur du site est indisponible. Je ne sais pas si cela vient de cela. C'est aussi pour cela que j'ai voulu passer par phpmailer
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
16 mars 2015 à 19:10
16 mars 2015 à 19:10
Tu as bien parametre le smtp et tout dans le code que je t'ai donné hein ??
Ce qui m'étonne c'est que tu n'as pas le echo de fin.... ni message d'erreur. ...
soit tu ne nous marques pas tout... soit y'a vraiment un pb avec ton hebergeur. .. (mais aucun rapport avec la fonction mail )
Ce qui m'étonne c'est que tu n'as pas le echo de fin.... ni message d'erreur. ...
soit tu ne nous marques pas tout... soit y'a vraiment un pb avec ton hebergeur. .. (mais aucun rapport avec la fonction mail )
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
Modifié par djstoun le 16/03/2015 à 19:34
Modifié par djstoun le 16/03/2015 à 19:34
Je te mets mon code : (mais on est d'accord il faut bien mettre le smtp de yahoo, c'est à dire celui de mon adresse mail ?)
<?php // AFFICHAGE DES ERREURS: ini_set('display_errors', '1'); error_reporting(E_ALL); /** * Fonction d'envoi de mails */ function SendMail($to,$sujet,$body){ //Include des class : $phpmailerClass = "phpmailer/class.phpmailer.php"; if(file_exists($phpmailerClass)){ echo "<br>ok : Fichier $phpmailerClass trouvé ! "; require_once($phpmailerClass); include("phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded }else{ echo "<br>Error : Fichier $phpmailerClass non trouvé ! "; } //-------------------------------------------------------------------------------// try{ //Objet Mail $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "smtp.mail.yahoo.com"; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only //*************** AUTHENTIFICATION AU SMTP *****************************// $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = "smtp.mail.yahoo.com"; // sets the SMTP server $mail->Port = 587; // set the SMTP port for the MAIL server $mail->Username = "pourquivoter@yahoo.fr"; // SMTP account username $mail->Password = "****"; // SMTP account password //***********************************************************************// $mail->SetFrom('pourquivoter@yahoo.fr', 'Expéditeur'); $mail->AddReplyTo("pourquivoter@yahoo.fr","First Last"); $mail->Subject = $sujet; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $mail->AddAddress($to, "pourquivoter"); if(!$mail->Send()){ $result = "Mailer Error: " . $mail->ErrorInfo; }else{ $result=false; } } catch (Exception $e) { $result = '<br>Exception reçue : ' . $e->getMessage(). "\n"; } return $result; } //---------------------------------------------------------------------------------------------// echo "<pre>DEBUT DU SCRIPT</pre>"; $address = "pourquivoter@yahoo.fr"; $message = " <pre> Ceci est un message Test. </pre>"; $sujet = "Mail de Test"; // envoie du mail echo "<pre>Envoi du mail :"; $sendMail = SendMail($address,$sujet,$message); if(!$sendMail) { echo "<br> Message envoyé!"; }else{ echo "<br>".$sendMail; } echo "</pre>"; echo "<pre>FIN DU SCRIPT</pre>"; //---------------------------------------------------------------------------------------------// ?>
Utilisateur anonyme
16 mars 2015 à 19:41
16 mars 2015 à 19:41
Bonsoir
Juste une petite remarque :
Dans ton script simple, tu écris "phpmailer/class.phpmailer.php" (pas de / au début
Dans ceux qui ne marchent pas, tu écris "/phpmailer/class.phpmailer.php"
Si c'est ça la raison, bizarre qu'il n'y ait pas de message d'erreur quand même
Juste une petite remarque :
Dans ton script simple, tu écris "phpmailer/class.phpmailer.php" (pas de / au début
Dans ceux qui ne marchent pas, tu écris "/phpmailer/class.phpmailer.php"
Si c'est ça la raison, bizarre qu'il n'y ait pas de message d'erreur quand même
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
Modifié par djstoun le 16/03/2015 à 19:50
Modifié par djstoun le 16/03/2015 à 19:50
Oui fallait que je vide le cache et pour que je reçoive le message "Fichier phpmailer/class.phpmailer.php trouvé ! " il fallait enlever le "/".
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
16 mars 2015 à 20:21
16 mars 2015 à 20:21
Je viens de fouiller un peu sur le net ... et visiblement.... avec Yahoo ... seuls les comptes "pro" peuvent envoyer des mails depuis des scripts PHP.....
A mon avis, tu ferais mieux de passer par Gmail.
A mon avis, tu ferais mieux de passer par Gmail.
<?php // AFFICHAGE DES ERREURS: ini_set('display_errors', '1'); error_reporting(E_ALL); function sendMail($to,$sujet,$body,$pj=NULL){ //***** VARIABLES *****// $user = "tonadresseMail"; $password ="tonPassword"; $fromMail = "tonadresseMail"; $fromName = "Moi"; $replytoMail = "tonadresseMail"; $replytoName = "Moi"; // Parametres SMTP $host = 'smtp.gmail.com'; $port = 587; //---------------------// $result=array(); //Include des class : $phpmailerClass = "phpmailer/class.phpmailer.php"; if(file_exists($phpmailerClass)){ require_once($phpmailerClass); include("phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded }else{ $result['error'] = "<br>Error : Fichier $phpmailerClass non trouvé ! "; return $result; } //-------------------------------------------------------------------------------// try{ //Objet Mail $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //*************** AUTHENTIFICATION AU SMTP *****************************// //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = $host; // sets the SMTP server $mail->Port = $port; // set the SMTP port for the MAIL server $mail->Username = $user; // SMTP account username $mail->Password = $password; // SMTP account password //***********************************************************************// $mail->SetFrom($fromMail, $fromName); $mail->AddReplyTo($replytoMail,$replytoName); $mail->Subject = $sujet; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $mail->AddAddress($to); if(!$mail->Send()){ $result['error'] = "Mailer Error: " . $mail->ErrorInfo; $result['status'] = false; }else{ $result['error'] = false; $result['status'] = true; } } catch (Exception $e) { $result['error'] = '<br>Exception reçue : ' . $e->getMessage(). "\n"; $result['status'] = false; } return $result; } //-------- debut du script -------------------// echo "<br>" . date('Y-m-d H:i:s') . " Debut du script "; $destinataire = "uneadresse@toto.com"; $sujet = "ceci est un mail test"; $message = " Youpii.. ça marche ..."; print_r( sendMail($destinataire,$sujet,$message)); echo "<br>" . date('Y-m-d H:i:s') . " Fin du script "; ?>
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
Modifié par djstoun le 16/03/2015 à 22:33
Modifié par djstoun le 16/03/2015 à 22:33
Sur la page cela m'affiche : 2015-03-16 22:24:09 Debut du script
Et toujours pas de mail reçu sur la nouvelle boite mail. J'ai essayé en changeant le port à 25 et 465.
Et toujours pas de mail reçu sur la nouvelle boite mail. J'ai essayé en changeant le port à 25 et 465.
<?php // AFFICHAGE DES ERREURS: ini_set('display_errors', '1'); error_reporting(E_ALL); function sendMail($to,$sujet,$body,$pj=NULL){ //***** VARIABLES *****// $user = "pourquivoter@gmail.com"; $password ="*****"; $fromMail = "pourquivoter@gmail.com"; $fromName = "Moi"; $replytoMail = "pourquivoter@gmail.com"; $replytoName = "Moi"; // Parametres SMTP $host = 'smtp.gmail.com'; $port = 587; //---------------------// $result=array(); //Include des class : $phpmailerClass = "phpmailer/class.phpmailer.php"; if(file_exists($phpmailerClass)){ require_once($phpmailerClass); include("phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded }else{ $result['error'] = "<br>Error : Fichier $phpmailerClass non trouvé ! "; return $result; } //-------------------------------------------------------------------------------// try{ //Objet Mail $mail = new PHPMailer(); $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //*************** AUTHENTIFICATION AU SMTP *****************************// //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = $host; // sets the SMTP server $mail->Port = $port; // set the SMTP port for the MAIL server $mail->Username = $user; // SMTP account username $mail->Password = $password; // SMTP account password //***********************************************************************// $mail->SetFrom($fromMail, $fromName); $mail->AddReplyTo($replytoMail,$replytoName); $mail->Subject = $sujet; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $mail->AddAddress($to); if(!$mail->Send()){ $result['error'] = "Mailer Error: " . $mail->ErrorInfo; $result['status'] = false; }else{ $result['error'] = false; $result['status'] = true; } } catch (Exception $e) { $result['error'] = '<br>Exception reçue : ' . $e->getMessage(). "\n"; $result['status'] = false; } return $result; } //-------- debut du script -------------------// echo "<br>" . date('Y-m-d H:i:s') . " Debut du script "; $destinataire = "pourquivoter@gmail.com"; $sujet = "ceci est un mail test"; $message = " Youpii.. ça marche ..."; print_r( sendMail($destinataire,$sujet,$message)); echo "<br>" . date('Y-m-d H:i:s') . " Fin du script "; ?>
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
16 mars 2015 à 22:31
16 mars 2015 à 22:31
C'est quoi ton hebergeur ??
tu peux tester ce code en local sur ton pc?
tu peux tester ce code en local sur ton pc?
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
>
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
Modifié par djstoun le 17/03/2015 à 11:48
Modifié par djstoun le 17/03/2015 à 11:48
C'est Olympe.
Tu veux dire par Wampserver ? Je teste.
Tu veux dire par Wampserver ? Je teste.
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
17 mars 2015 à 11:57
17 mars 2015 à 11:57
Oui
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
17 mars 2015 à 12:22
17 mars 2015 à 12:22
En local je reçois le message :
2015-03-17 11:19:17 Debut du script
Et toujours pas de mail reçu (mais je pense qu'en étant en local c'est normal ?)
2015-03-17 11:19:17 Debut du script
Et toujours pas de mail reçu (mais je pense qu'en étant en local c'est normal ?)
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
17 mars 2015 à 15:01
17 mars 2015 à 15:01
Il semble qu'il y ai un souci de connexion au SMTP de google....
bizarre....
TU peux tester ça :
bizarre....
TU peux tester ça :
<?php // AFFICHAGE DES ERREURS: ini_set('display_errors', '1'); error_reporting(E_ALL); function testCnx($host,$port){ try{ $checkconn = fsockopen($host, $port, $errno, $errstr, 10); if(!$checkconn){ echo "<br>($errno) $errstr"; $result=false; } else { echo 'ok'; $result=true; } } catch (Exception $e) { echo $e->getMessage(); echo "<br>($errno) $errstr"; $result=false; } return $result; } function sendMail($to,$sujet,$body,$pj=NULL){ //***** VARIABLES *****// //Include des class : $phpmailerClass = "phpmailer/class.phpmailer.php"; require_once($phpmailerClass); include("phpmailer/class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $user = "monemail@gmail.com"; $password ="*****"; $fromMail = "monemail@gmail.com"; $fromName = "Moi"; $replytoMail = "monemail@gmail.com"; $replytoName = "Moi"; // Parametres SMTP $host = 'smtp.gmail.com'; $port = 587; //---------------------// $result=array(); if(!testCnx($host,$port)){ exit(); } //-------------------------------------------------------------------------------// try{ //Objet Mail $mail = new PHPMailer(true); $mail->IsSMTP(); // telling the class to use SMTP $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only //Ask for HTML-friendly debug output $mail->Debugoutput = 'html'; //*************** AUTHENTIFICATION AU SMTP *****************************// //Set the encryption system to use - ssl (deprecated) or tls $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; // enable SMTP authentication $mail->Host = $host; // sets the SMTP server $mail->Port = $port; // set the SMTP port for the MAIL server $mail->Username = $user; // SMTP account username $mail->Password = $password; // SMTP account password //***********************************************************************// $mail->WordWrap = 900; $mail->ContentType = 'text/html; charset=utf-8\r\n'; $mail->CharSet = 'UTF-8'; $mail->Encoding = '8bit'; $mail->SetFrom($fromMail, $fromName); $mail->AddReplyTo($replytoMail,$replytoName); $mail->Subject = $sujet; $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $mail->AddAddress($to); if(!$mail->Send()) { $result[] = 'Mail error: '.$mail->ErrorInfo; } else { echo "<br>".date('Y-m-d'). " Mail envoyé OK"; $result[] = true; } } catch (phpmailerException $e) { echo $e->errorMessage(); //Pretty error messages from PHPMailer } catch (Exception $e) { echo $e->getMessage(); //Boring error messages from anything else! } $mail->SmtpClose(); return $result; } //-------- debut du script -------------------// echo "<br>" . date('Y-m-d H:i:s') . " Debut du script "; $destinataire = "jordane.reynet@atos.net"; $sujet = "ceci est un mail test"; $message = " Youpii.. ça marche ..."; print_r(sendMail($destinataire,$sujet,$message)); echo "<br>" . date('Y-m-d H:i:s') . " Fin du script "; ?>
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
18 mars 2015 à 11:25
18 mars 2015 à 11:25
Mon hébergeur a un gros souci en ce moment. Je ne peux plus envoyer de pages (j'espère que cela va se résoudre dans la journée).
jordane45
Messages postés
38372
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
9 janvier 2025
4 722
18 mars 2015 à 11:35
18 mars 2015 à 11:35
j'ai retesté le script ...
Il fonctionne très bien (en local chez moi) .. mais ne passe pas lorsque je suis au travail car le port est bloqué !
Si ça se trouve... ton problème ...c'est juste une question de port bloqué..... (par le FireWall ou le routeur ou le proxy par exemple). Mais dans ce cas... je n'ai aucune solution pour contourner le problème.
Il fonctionne très bien (en local chez moi) .. mais ne passe pas lorsque je suis au travail car le port est bloqué !
Si ça se trouve... ton problème ...c'est juste une question de port bloqué..... (par le FireWall ou le routeur ou le proxy par exemple). Mais dans ce cas... je n'ai aucune solution pour contourner le problème.
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
23 mars 2015 à 13:57
23 mars 2015 à 13:57
Alors j'ai pu enfin retransférer la page sur mon FTP. J'ai eu ce message, à toi de me dire, si y a moyen de résoudre ou pas :
"
2015-03-23 13:55:29 Debut du script okSMTP -> ERROR: EHLO not accepted from server:
SMTP -> ERROR: HELO not accepted from server:
SMTP -> NOTICE: EOF caught while checking if connectedLanguage string failed to load: tls
Array ( )
2015-03-23 13:55:55 Fin du script"
"
2015-03-23 13:55:29 Debut du script okSMTP -> ERROR: EHLO not accepted from server:
SMTP -> ERROR: HELO not accepted from server:
SMTP -> NOTICE: EOF caught while checking if connectedLanguage string failed to load: tls
Array ( )
2015-03-23 13:55:55 Fin du script"
djstoun
Messages postés
290
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
26 mai 2023
5
23 mars 2015 à 16:59
23 mars 2015 à 16:59
Youpi !
J'ai en fait cette fois-ci paramétrer sur une adresse hotmail et cela fonctionne ! Merci à toi Jordane45. Maintenant, je vais essayer d'arriver à mes fins avec cette utilisation de Phpmailer. (peut-être que j'aurais de nouveau besoin de tes conseils du coup.)^^
Voici le code hotmail qui fonctionne, pour ceux qui s'arrachent les cheveux.
J'ai en fait cette fois-ci paramétrer sur une adresse hotmail et cela fonctionne ! Merci à toi Jordane45. Maintenant, je vais essayer d'arriver à mes fins avec cette utilisation de Phpmailer. (peut-être que j'aurais de nouveau besoin de tes conseils du coup.)^^
Voici le code hotmail qui fonctionne, pour ceux qui s'arrachent les cheveux.
require "phpmailer/class.phpmailer.php"; $mail = new PHPmailer(); $mail->IsSMTP(); $mail->IsHTML(true); $mail->Host='smtp.live.com'; //aussi essayé smtp.mondomaine.com $mail->Port=587; $mail->Username = 'yourmail@hotmail.com'; // SMTP login $mail->Password = '*******'; // SMTP password $mail->SMTPAuth = true; // Active l'uthentification par smtp $mail->SMTPSecure = 'tls'; $mail->From='yourmail@hotmail.com'; $mail->AddAddress('yourmail@hotmail.com'); $mail->AddReplyTo('yourmail@hotmail.com'); $mail->Subject='Exemple trouvé sur DVP'; $mail->Body='<html><body><head><style>.entete{background-color:#0000FF;color:#FFFFFF;border:solid 3px;font-size:25px}'; $mail->Body.='.ligne{color:#0000FF;border:solid 1px;text-align:center;font-size:23px}</style></head>'; $mail->Body.='<center><table><tr><td class="entete">Voici un exemple d\'e-mail au format HTML</td></tr>'; $mail->Body.='<tr><td class="ligne">Ceci est un tableau HTML</td></tr></table></center></body></html>'; if(!$mail->Send()){ //Teste si le return code est ok. echo $mail->ErrorInfo; //Affiche le message d'erreur } else{ echo 'Mail envoyé avec succès'; } $mail->SmtpClose(); unset($mail);
12 mars 2015 à 12:07
12 mars 2015 à 13:01
et dis nous si ça t'affiche quelque chose.
Et tu l'appelles comment cette page ?
Via un formulaire HTML ?
Tu nous montres son code ?
12 mars 2015 à 14:35
Cette page je l'ai créée pour essayer si Phpmailer fonctionnait. En effet, je compte l'utiliser ensuite pour m'envoyer les résultats d'un questionnaire test.
Voici le code complet de cette simple page test :