IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

PHPMailer la fonction Send plante [PHP 7]


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut PHPMailer la fonction Send plante
    Bonjour à tous,

    Je teste PHPMailer version 6.
    Je suis en PHP 7.1

    En simplifié voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;
     
    require ('../vendor/PHPMailer/src/PHPMailer.php');
    require ('../vendor/PHPMailer/src/Exception.php');
    require ('../vendor/PHPMailer/src/SMTP.php');
     
    $mail = new PHPMailer(true);
    try {
     
    $mail->isSMTP(); 
    $mail->Host = 'smtp.ionos.fr'; 
    $mail->SMTPAuth = true; // Activer authentication SMTP
    $mail->Username = 'infos@toto.fr'; 
    $mail->Password = 'xxxxxxxx'; 
    $mail->SMTPSecure = 'ssl';
    $mail->Port = 465;
    $mail->SMTPDebug = 2;
    $mail->setFrom('infos@toto.fr', 'Ste Toto'); // Personnaliser l'envoyeur
    $mail->addAddress('toto@hotmail.fr', 'Toto'); // Ajouter le destinataire
    $mail->addReplyTo('infos@toto.fr', 'Ste Toto'); // L'adresse de réponse
    $mail->isHTML(true); 
     
    $mail->Subject = 'Mon sujet';
    $mail->msgHTML(file_get_contents('mail.html'), __DIR__);
    //var_dump($mail);
    //exit();
    //$mail->AltBody = 'Email au format HTML. Merci d\'utiliser un programme qui permet de le lire';
    $mail->send();
        echo 'Message has been sent';
    } catch (Exception $e) {
        echo 'Message could not be sent. Mailer Error: ', $mail->ErrorInfo;
    }
    Comme vous le voyez, il y a dans le code, commenté, un var_dump de l'objet et un exit().
    Quand je dé-commente, tout s'affiche nickel.
    Mais si je laisse s'exécuter le $mail->send(), la page met une plombe à se charger pour finir sur "page unavailable".

    Je comprends pas où ça cloche.
    Merci de votre coup de main.

  2. #2
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 351
    Points : 582
    Points
    582
    Par défaut
    Salut,

    Visiblement ton script n'arrive pas à atteindre le serveur SMTP déclaré dans les paramètres :
    - est-ce que les infos du SMTP renseignées sont correctes ?
    - est-ce que ton hébergeur n'a pas bloqué les fonctions d'envoi de mail ?
    - est-ce que le port utilisé (465) est ouvert ?
    - est-ce que l'IP depuis laquelle le script est exécuté est autorisée à se connecter au serveur via ce port et avec ces infos de connexion ?

    Il y a de bonnes chances que ce soit l'une de ces raisons qui bloque l'envoi de mail, bon courage !

  3. #3
    Membre averti Avatar de renaud26
    Homme Profil pro
    Webmaster
    Inscrit en
    Mars 2003
    Messages
    1 365
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Mars 2003
    Messages : 1 365
    Points : 436
    Points
    436
    Par défaut
    Bonjour et merci de ta réponse, grâce à laquelle j'ai orienté mes recherches différemment.
    Du coup j'ai découvert que pour utiliser PHPMailer en SMTP avec l'hébergeur 1and1 (Ionos maintenant) il faut utiliser:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mail->SMTPSecure = 'tls'; 
    $mail->Port = 25;
    et non pas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $mail->SMTPSecure = 'ssl'; 
    $mail->Port = 465;
    Donc merci à toi, je mets ce post en résolu...même si le mail arrive dans les spams de hotmail, ce que je voulais évidemment éviter.

  4. #4
    Nouveau Candidat au Club Avatar de TheBigBananier
    Homme Profil pro
    Webmaster
    Inscrit en
    Août 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Août 2019
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Cela fonctionne
    Bonjour,

    Cela fonctionne désormais.

    J'ai eu le même problème lors de mes essais il y a quelques mois, aujourd'hui, le code ci-dessous fonctionne parfaitement chez moi :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        $mail->isSMTP();                                      
        $mail->Host = 'smtp.ionos.fr';  
        $mail->SMTPAuth = true;                               
        $mail->SMTPSecure = 'ssl';                                 
        $mail->Port = 465;

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Système] Pourquoi la fonction ini_get plante ?
    Par renaudjuif dans le forum Langage
    Réponses: 14
    Dernier message: 02/08/2006, 00h17
  2. Question sur les fonctions "send()" et "recv(
    Par damien99 dans le forum MFC
    Réponses: 6
    Dernier message: 10/02/2006, 20h47
  3. [PHPMailer] la fonction mail et moi !!!
    Par wdionysos dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 27/10/2005, 20h05
  4. blocage de la fonction : send
    Par fregolo52 dans le forum Réseau
    Réponses: 5
    Dernier message: 20/09/2005, 09h10
  5. La fonction DestroyWindow plante !!!
    Par Jean++ dans le forum MFC
    Réponses: 3
    Dernier message: 26/08/2005, 10h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo