Problème d'envoi avec phpmailer selon les serveurs
Résolu
Micha_74
Messages postés
23
Date d'inscription
Statut
Membre
Dernière intervention
-
Micha_74 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Micha_74 Messages postés 23 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Voici mon problème : J'ai installé et utilisé phpmailer selon les indications trouvées sur github et pas de problème pour envoyer des mails depuis mon site à partir de formulaires quand je passe par le serveur de mon école. Mais quand je test en local, ou chez mon hébergeur web (world light, pour le besoin d'un stage en entreprise) cela ne fonctionne plus.
En local, le mail n'est pas envoyé et le message d'erreur apparaît.
Chez mon hébergeur, le mail semble s'envoyer (message de succès) mais je ne le reçois pas.
Je vous transmet la partie de code, merci d'avance pour votre aide :).
[code]try{
$this->mail->From=$emailExpediteur;
$this->mail->FromName=$nomExpediteur;
$this->mail->Subject="Balance âgée";
$this->mail->MsgHTML($emailContent);
$this->mail->AltBody="Votre messagerie n'accepte pas le format HTML";
$this->mail->CharSet="UTF-8";
$this->mail->AddAddress($emailDestinataire);
$this->mail->AddAttachment($file_location);
if($this->mail->Send()){
$message[].="Email envoyé avec succès";
$type[].="success";
$desc[].='Envoi mail';
}
else{
$message[].="L'email n'a pas pu être envoyé";
$type[].="error";
$desc[].='Envoi mail';
}
}
catch(Exception $mail){
echo "Erreur :".$mail->ErrorInfo;
}[/code]
J'utilise une architecture MVC, voici le constructeur du model où se trouve l'initialisation de la classe phpmailer.
[code]<?php
include 'dompdf/autoload.inc.php';
use Dompdf\Dompdf;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/Exception.php';
class Model{
/**
protected $connexion;
/**
protected $requete;
protected $pdf;
protected $mail;
/**
*
public function __construct(){
//Définition des constantes contenants les identifiants de connexion
define('SERVER' ,"localhost");
define('USER' ,"root");
define('PASSWORD',"");
define('BASE' ,"*******");
try{
//On tente de se connecter avec la méthode PDO avec ces identifiants
$this->connexion= new PDO("mysql:host=".SERVER.";dbname=".BASE, USER, PASSWORD);
}
catch(Exception $e){
echo "Erreur : " . $e->getMessage();
}
$this->pdf= new Dompdf();
$this->mail=new PHPMailer();
}[/code]
Voici mon problème : J'ai installé et utilisé phpmailer selon les indications trouvées sur github et pas de problème pour envoyer des mails depuis mon site à partir de formulaires quand je passe par le serveur de mon école. Mais quand je test en local, ou chez mon hébergeur web (world light, pour le besoin d'un stage en entreprise) cela ne fonctionne plus.
En local, le mail n'est pas envoyé et le message d'erreur apparaît.
Chez mon hébergeur, le mail semble s'envoyer (message de succès) mais je ne le reçois pas.
Je vous transmet la partie de code, merci d'avance pour votre aide :).
[code]try{
$this->mail->From=$emailExpediteur;
$this->mail->FromName=$nomExpediteur;
$this->mail->Subject="Balance âgée";
$this->mail->MsgHTML($emailContent);
$this->mail->AltBody="Votre messagerie n'accepte pas le format HTML";
$this->mail->CharSet="UTF-8";
$this->mail->AddAddress($emailDestinataire);
$this->mail->AddAttachment($file_location);
if($this->mail->Send()){
$message[].="Email envoyé avec succès";
$type[].="success";
$desc[].='Envoi mail';
}
else{
$message[].="L'email n'a pas pu être envoyé";
$type[].="error";
$desc[].='Envoi mail';
}
}
catch(Exception $mail){
echo "Erreur :".$mail->ErrorInfo;
}[/code]
J'utilise une architecture MVC, voici le constructeur du model où se trouve l'initialisation de la classe phpmailer.
[code]<?php
include 'dompdf/autoload.inc.php';
use Dompdf\Dompdf;
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;
require 'PHPMailer-master/src/PHPMailer.php';
require 'PHPMailer-master/src/Exception.php';
class Model{
/**
- @varstring connexion au serveur via PDO
- @accessprotected
- /
protected $connexion;
/**
- @varstring requette SQL
- @accessprotected
- /
protected $requete;
protected $pdf;
protected $mail;
/**
- Méthode de construction de la class
*
- /
public function __construct(){
//Définition des constantes contenants les identifiants de connexion
define('SERVER' ,"localhost");
define('USER' ,"root");
define('PASSWORD',"");
define('BASE' ,"*******");
try{
//On tente de se connecter avec la méthode PDO avec ces identifiants
$this->connexion= new PDO("mysql:host=".SERVER.";dbname=".BASE, USER, PASSWORD);
}
catch(Exception $e){
echo "Erreur : " . $e->getMessage();
}
$this->pdf= new Dompdf();
$this->mail=new PHPMailer();
}[/code]
A voir également:
- Problème d'envoi avec phpmailer selon les serveurs
- Programmer envoi sms - Guide
- Envoi impossible messenger - Forum Facebook Messenger
- Programmer envoi mail gmail - Guide
- Logiciel envoi sms - Télécharger - Messagerie
- Votre envoi est en préparation pour sa distribution. ✓ - Forum Consommation & Internet
6 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, es-tu certain du nom de ton hébergeur?
Non autant pour moi, world <b>Lite</b> est le nom du service gratuit proposé par l'hébergeur PlanetHoster.
Et aussi je m'excuse pour la mise en forme du code, la balise [code] ne semble pas fonctionner...
En vous remerciant.
Et aussi je m'excuse pour la mise en forme du code, la balise [code] ne semble pas fonctionner...
En vous remerciant.
Je vous remercie,
Je regarde tout ça et je reviens vers vous ;)
Je regarde tout ça et je reviens vers vous ;)
Je n'ai pas adapté mes fichiers en local car je peut déjà faire mes tests sur le serveur de mon école, je voulais m'occuper de mon hébergeur en priorité pour que le client puisse tester la fonctionnalité.
Après lectyre de votre lien, j'ai crée un compte de messagerie depuis le panneau de commande de planetHoster, et modifié mon code comme ceci :
Mais toujours la meme chose, quand j'envoi le mail depuis mywebsitearctest.yn.fr j'ai le message de succès mais le mail ne s'envoi pas.
Après lectyre de votre lien, j'ai crée un compte de messagerie depuis le panneau de commande de planetHoster, et modifié mon code comme ceci :
try{ $this->mail->Host='webmail.world.planethoster.net:25'; $this->mail->Username='******@mywebsitearctest.yn.fr'; $this->mail->Password='*************'; $this->mail->From=$emailExpediteur; $this->mail->FromName=$nomExpediteur; $this->mail->Subject="Balance âgée"; $this->mail->MsgHTML($emailContent); $this->mail->AltBody="Votre messagerie n'accepte pas le format HTML"; $this->mail->CharSet="UTF-8"; $this->mail->AddAddress($emailDestinataire); $this->mail->AddAttachment($file_location); if($this->mail->Send()){ $message[].="Email envoyé avec succès"; $type[].="success"; $desc[].='Envoi mail'; } else{ $message[].="L'email n'a pas pu être envoyé"; $type[].="error"; $desc[].='Envoi mail'; } } catch(Exception $mail){ echo "Erreur :".$mail->ErrorInfo; }
Mais toujours la meme chose, quand j'envoi le mail depuis mywebsitearctest.yn.fr j'ai le message de succès mais le mail ne s'envoi pas.
Je ne comprend pas cela fait 3 fois que j'envoi mon message mais rien e s'affiche dans la conversation. Les avez-vous reçus?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Je n'ai pas adapté mes fichiers en local car je peut déjà faire mes tests sur le serveur de mon école, je voulais m'occuper de mon hébergeur en priorité pour que le client puisse tester la fonctionnalité.
Après lectyre de votre lien, j'ai crée un compte de messagerie depuis le panneau de commande de planetHoster, et modifié mon code comme ceci :
Mais toujours la meme chose, quand j'envoi le mail depuis mywebsitearctest.yn.fr j'ai le message de succès mais le mail ne s'envoi pas.
Après lectyre de votre lien, j'ai crée un compte de messagerie depuis le panneau de commande de planetHoster, et modifié mon code comme ceci :
Mais toujours la meme chose, quand j'envoi le mail depuis mywebsitearctest.yn.fr j'ai le message de succès mais le mail ne s'envoi pas.
Disons que c'est assez différent de mon problème à moi.
1: Je ne suis pas chez Hosteur mais planetHoster (Dans le lien il s'agit de Hosteur apparemment)
2: Je n'ai pas de soucis avec un compte mail en particulier, aucun ne fonctionne que se soit yahoo, gmail ou autre.
3: Je n'ai aucun message d'erreur
Cependant une des réponse suggérée de crée un compte de messagerie dédié depuis la panneau de commande de l'hébergeur.
1: Je ne suis pas chez Hosteur mais planetHoster (Dans le lien il s'agit de Hosteur apparemment)
2: Je n'ai pas de soucis avec un compte mail en particulier, aucun ne fonctionne que se soit yahoo, gmail ou autre.
3: Je n'ai aucun message d'erreur
Cependant une des réponse suggérée de crée un compte de messagerie dédié depuis la panneau de commande de l'hébergeur.
Bonjour,
Je reposte ma question car le post précédent ne me permettait pas d'éditer du code...
Voici le problème : Mon hébergeur est planethoster, j'utilise phpmailer pour envoyer des mails générés depuis mon site web. Quand je l'envoi depuis le serveur de mon école, sans préciser de compte de messagerie, cela fonctionne sans problème, mais quand je le met en ligne sur planète hoster le mail ne s'envoi pas bien que le message de succès apparaisse.
J'ai d'abord crée un compte de messagerie dans planetHoster et insérer les identifiants de connexion dans mon code que voici :
J'utilise une architecture MVC, donc voici le constructeur du model ou est initialisée la classe phpmailer :
Je vous remercie pour votre aide
Je reposte ma question car le post précédent ne me permettait pas d'éditer du code...
Voici le problème : Mon hébergeur est planethoster, j'utilise phpmailer pour envoyer des mails générés depuis mon site web. Quand je l'envoi depuis le serveur de mon école, sans préciser de compte de messagerie, cela fonctionne sans problème, mais quand je le met en ligne sur planète hoster le mail ne s'envoi pas bien que le message de succès apparaisse.
J'ai d'abord crée un compte de messagerie dans planetHoster et insérer les identifiants de connexion dans mon code que voici :
try{ $this->mail->Host='webmail.world.planethoster.net:25'; $this->mail->Username='******@mywebsitearctest.yn.fr'; $this->mail->Password='*************'; $this->mail->From=$emailExpediteur; $this->mail->FromName=$nomExpediteur; $this->mail->Subject="Balance âgée"; $this->mail->MsgHTML($emailContent); $this->mail->AltBody="Votre messagerie n'accepte pas le format HTML"; $this->mail->CharSet="UTF-8"; $this->mail->AddAddress($emailDestinataire); $this->mail->AddAttachment($file_location); if($this->mail->Send()){ $message[].="Email envoyé avec succès"; $type[].="success"; $desc[].='Envoi mail'; } else{ $message[].="L'email n'a pas pu être envoyé"; $type[].="error"; $desc[].='Envoi mail'; } } catch(Exception $mail){ echo "Erreur :".$mail->ErrorInfo; }
J'utilise une architecture MVC, donc voici le constructeur du model ou est initialisée la classe phpmailer :
<?php include 'dompdf/autoload.inc.php'; use Dompdf\Dompdf; use PHPMailer\PHPMailer\PHPMailer; use PHPMailer\PHPMailer\Exception; require 'PHPMailer-master/src/PHPMailer.php'; require 'PHPMailer-master/src/Exception.php'; /** * Création d'une class Mère Model * * Contient les méthodes de traitements des données liées à toutes les entités */ class Model{ /** * @var string connexion au serveur via PDO * @access protected */ protected $connexion; /** * @var string requette SQL * @access protected */ protected $requete; protected $pdf; protected $mail; /** * Méthode de construction de la class * */ public function __construct(){ //Définition des constantes contenants les identifiants de connexion define('SERVER' ,"localhost"); define('USER' ,"*************"); define('PASSWORD',"***************"); define('BASE' ,"***************"); try{ //On tente de se connecter avec la méthode PDO avec ces identifiants $this->connexion= new PDO("mysql:host=".SERVER.";dbname=".BASE, USER, PASSWORD); } catch(Exception $e){ //On récupère l'exeption éventuellement produite et on l'affiche echo "Erreur : " . $e->getMessage(); } $this->pdf= new Dompdf(); $this->mail=new PHPMailer(); }
Je vous remercie pour votre aide