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 :

l'autoloader de composer fait pas son job


Sujet :

Langage PHP

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut l'autoloader de composer fait pas son job
    Bonjour,
    j'ai installé PHPMailer avec composer.

    Dans index.php, j'exécute son autoloader : require DIR_ROOT.'vendor'.DIRECTORY_SEPARATOR.'autoload.php'; //autoload de composer.

    L'action de mon formulaire de contact est ?action=Action-form-contact.

    Dans index.php, j'inclue routing.php qui fait :
    Code php : 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
    <?php declare(strict_types=1);
     
    $routes = [
        'Vos-temoignages' =>'controller/Vos-temoignages',
        'Politique-de-confidentialite' =>'controller/Politique-de-confidentialite',
        'Nous-contacter' =>'controller/Nous-contacter',
        'Mentions-legales' =>'controller/Mentions-legales',
        'Home' =>'controller/Accueil',
        'tarifs' =>'controller/Tarifs',
        'Les-nids-et-les-insectes' =>'controller/Les-nids-et-les-insectes',
        'Conseils' =>'controller/Conseils',
        'Action-form-contact' =>'controller/Action-form-contact',
        'Etre-rappele' =>'controller/Etre-rappele',
        'Action-form-rappel' =>'controller/Action-form-rappel',
     
    ];
     
    $action = isset($_GET['action'], $routes[$_GET['action']]) ? $_GET['action'] : null;
     
    if ($action === null) {
        $ctrl = 'controller/Accueil';
    } else {
        $ctrl = $routes[$action];
    }
     
    $page = $ctrl.".php";
    Plus loin dans index.php, je fais <?php include $page; ?>.

    On appelle donc controller/Action-form-contact.php et on a précédemment appelé l'autoloader. Donc je m'attends à ce que PHPMailer soit connu.

    Mais
    Fatal error: Uncaught Error: Class "PHPMailer" not found in C:\projets\arnaud\controller\Action-form-contact.php on line 17
    Quel est le problème SVP ?

  2. #2
    Membre expert
    Avatar de cavo789
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2004
    Messages
    1 791
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 791
    Points : 3 058
    Points
    3 058
    Par défaut
    As-tu bien fait un use suivi du namespace adhoc dans ton controller ?

    Au besoin fournit les 20 premières lignes de ton contrôleur dans une réponse ultérieure.

  3. #3
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    oui, ça aide car y a plus ce message d'erreur, mais y en a un autre :
    Could not instantiate mail function.

  4. #4
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    J'oubliais ; l'action du formulaire :
    Code php : 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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <main class="container">
        <?php /** @var \rawsrc\PhpEcho\PhpEcho $this */
        use PHPMailer\PHPMailer\PHPMailer;
     
        $pb=false;
        if (empty($_POST['nom'])) { echo "Veuillez indiquer votre nom"; $pb=true; }
        elseif (empty($_POST['prenom'])) { echo "Veuillez indiquer votre prénom";  $pb=true; }
        elseif (empty($_POST['email'])) { echo "Veuillez indiquer votre adresse mail";  $pb=true; }
        elseif (empty($_POST['message'])) { echo "Veuillez indiquer votre message";  $pb=true; }
        elseif (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
            echo "l'addresse Email ".$_POST['email']." est invalide."; $pb=true;
        }
        if (!$pb)
        {
            $msg = $_POST['prenom']." ".$_POST['nom']." a écrit ce message&nbsp;: ".$_POST['message']."<br/>";
            $msg .= "son adresse mail est : ".$_POST["email"];
     
            try {
                $mail = new PHPMailer();
                $mail->IsHTML(true);
                $mail->CharSet = "UTF-8";
     
                $mail->From='adresse_du_site;
                $mail->AddAddress('adresse@gmail.com');
                $mail->AddReplyTo($_POST["email"]);
                $mail->Subject='Mail émis par la page contact du site pasdpanique';
                $mail->Body=$msg;
                if(!$mail->Send()){ //Teste le  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);
            }
            catch (Exception $e) {
                die("<br><strong>Erreur : " . $e->getMessage() . "</strong></h4>");
            }
        }
     
     
        ?>
    </main>

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    ce matin (ayant les idées plus claires que le soir), j'ai pensé à faire une recherche Google sur le message d'erreur et j'ai compris que ça pouvait être lié au fait d'être en local, donc j'ai mis le site en ligne : https://pasdpanique.fr/?action=Nous-contacter, et là, ça marche

  6. #6
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 438
    Points : 4 936
    Points
    4 936
    Par défaut
    Bonjour,

    Si vous essayez d'envoyer des email depuis localhost, vous devriez définir un serveur SMTP comme celui proposé par gmail dans la section application tiers, et modifier la configuration de la section [mail function] de php.ini en ajoutant le compte SMTP correspondant.

    Après vous activez l'option SMTP de PHP-Mailer en appelant la méthode isSMTP() comme c'est montré dans cet exemple.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Je pense avoir suivi vos indications et néanmoins :
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...leshootingSMTP server error: Failed to connect to server SMTP code: 10061 Additional SMTP info: Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée
    Je résume mes actions :
    PHP.ini (PHP 8.2.2)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [mail function]
    ; For Win32 only.
    ; http://php.net/smtp
    SMTP = smtp.gmail.com
    ; http://php.net/smtp-port
    smtp_port = 25
     
    ; For Win32 only.
    ; http://php.net/sendmail-from
    sendmail_from = smtp.gmail.com
    ...
    Je suis justement chez gmail !

    Et dans mon code : $mail->IsSMTP();

  8. #8
    Membre averti Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 429
    Points
    429
    Par défaut
    Avec PHPMailer tu peux activer tous les messages de l'établissement de la connexion et voir où cela coince.
    Note que le port 25, je doute fort que ce soit accepté chez Gmail
    Les ports que j'ai pu trouver lorsque j'ai installé PHPMailer : 25 - 26 - 465 - 587

  9. #9
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 438
    Points : 4 936
    Points
    4 936
    Par défaut
    Bonjour,

    Il faudrait aussi paramétrer PHPMailer avec les identifiants de ton compte SMTP gmail comme c'est montré dans "l'exemple simple" du lien que je vous ai déjà posté.

    Voilà comment ils ont fait pour initialiser l'objet :
    Code php : 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
    $mail = new PHPMailer(true);
     
    try {
        //Server settings
        $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output
        $mail->isSMTP();                                            //Send using SMTP
        $mail->Host       = 'smtp.example.com';                     //Set the SMTP server to send through
        $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
        $mail->Username   = 'user@example.com';                     //SMTP username
        $mail->Password   = 'secret';                               //SMTP password
        $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
        $mail->Port       = 465;
    ....
    }catch (Exception $e) {
        echo "Message could not be sent. Mailer Error: {$mail->ErrorInfo}";
    }
    Il faut remplacer les valeurs de $mail->Username et $mail->Password par vos identifiants SMTP gmail, et $mail->Host par "localhost".

    Et le port est 465 comme c'est indiqué dans le message de ddaweb, mais je me souviens aussi que le port 587 fonctionnait pour moi sous Apache avec XAMPP et 465 fonctionnait sous WAMPP, je ne sais pas si cela peut vous aider...

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Je pense avoir suivi vos indications, ddaweb et Toufik83, mais des messages d'erreur pour les 4 valeurs de ports.

    Pour être sûr, dans php.ini, j'ai commenté la ligne où on spécifie le port : ;smtp_port = 25 ; j'ai redémarré Apache et j'ai adapté le code d'envoi de mail :
    Code php : 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
    use PHPMailer\PHPMailer\PHPMailer;
    use PHPMailer\PHPMailer\SMTP;
    use PHPMailer\PHPMailer\Exception;
     
                $mail = new PHPMailer();
                $mail->IsHTML(true);
                $mail->CharSet = "UTF-8";
     
                $mail->SMTPDebug = SMTP::DEBUG_SERVER;                      //Enable verbose debug output 
                $mail->isSMTP();                                            //Send using SMTP à enlever si en ligne
                $mail->Host       = 'smtp.gmail.com';                     //Set the SMTP server to send through
                $mail->SMTPAuth   = true;                                   //Enable SMTP authentication
                $mail->Username   = 'mon_mail@gmail.com';                     //SMTP username
                $mail->Password   = 'mon_pwd';                               //SMTP password
                $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
                $mail->Port       = 26;                                         //ou 25, 465, 587
     
                $mail->From='mail_du_serveur';
                $mail->AddAddress('adresse_mail_destinataire');
                $mail->AddReplyTo($_POST["email"]);
                $mail->Subject='Mail émis par la page contact du site pasdpanique';
                $mail->Body=$msg;
                if(!$mail->Send()){ //Teste le  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);

    26 :
    2023-03-18 15:01:20 SMTP ERROR: Failed to connect to server: Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu (10060)
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...leshootingSMTP server error: Failed to connect to server SMTP code: 10060 Additional SMTP info: Une tentative de connexion a échoué car le parti connecté n’a pas répondu convenablement au-delà d’une certaine durée ou une connexion établie a échoué car l’hôte de connexion n’a pas répondu
    25 :
    2023-03-18 15:34:24 SMTP ERROR: Failed to connect to server: (0)
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...leshootingSMTP server error: Failed to connect to server
    465 :
    2023-03-18 15:35:42 SERVER -> CLIENT: 220 smtp.gmail.com ESMTP x2-20020a5d60c2000000b002cfe71153b4sm4576688wrt.60 - gsmtp
    2023-03-18 15:35:42 CLIENT -> SERVER: EHLO dev.arnaud.fr
    2023-03-18 15:35:42 SERVER -> CLIENT: 250-smtp.gmail.com at your service, [2a01:cb15:829f:900:6074:c3f2:6c47:5288]250-SIZE 35882577250-8BITMIME250-AUTH LOGIN PLAIN XOAUTH2 PLAIN-CLIENTTOKEN OAUTHBEARER XOAUTH250-ENHANCEDSTATUSCODES250-PIPELINING250-CHUNKING250 SMTPUTF8
    2023-03-18 15:35:42 CLIENT -> SERVER: AUTH LOGIN
    2023-03-18 15:35:42 SERVER -> CLIENT: 334 VXNlcm5hbWU6
    2023-03-18 15:35:42 CLIENT -> SERVER: [credentials hidden]
    2023-03-18 15:35:42 SERVER -> CLIENT: 334 UGFzc3dvcmQ6
    2023-03-18 15:35:42 CLIENT -> SERVER: [credentials hidden]
    2023-03-18 15:35:42 SERVER -> CLIENT: 534-5.7.9 Application-specific password required. Learn more at534 5.7.9 https://support.google.com/mail/?p=InvalidSecondFactor x2-20020a5d60c2000000b002cfe71153b4sm4576688wrt.60 - gsmtp
    2023-03-18 15:35:42 SMTP ERROR: Password command failed: 534-5.7.9 Application-specific password required. Learn more at534 5.7.9 https://support.google.com/mail/?p=InvalidSecondFactor x2-20020a5d60c2000000b002cfe71153b4sm4576688wrt.60 - gsmtp
    SMTP Error: Could not authenticate.
    2023-03-18 15:35:42 CLIENT -> SERVER: QUIT
    2023-03-18 15:35:42 SERVER -> CLIENT: 221 2.0.0 closing connection x2-20020a5d60c2000000b002cfe71153b4sm4576688wrt.60 - gsmtp
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting
    587 :
    2023-03-18 15:36:53 SMTP ERROR: Failed to connect to server: (0)
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...leshootingSMTP server error: Failed to connect to server

    J'ai jeté un oeil à https://github.com/PHPMailer/PHPMail...roubleshooting et j'ai bien installé PhpMailer avec composer.
    Savez vous quel est le problème ?

  11. #11
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 438
    Points : 4 936
    Points
    4 936
    Par défaut
    Oups désolé le host doit être localhost et pas smtp.gmail.com $mail->Host="localhost";.

    C'est le mot de passe SMTP que vous avez mis, pas celui de votre compte gmail, on est d'accord ?

    Il me semble que le port correcte est 465.

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Toufik83 Voir le message
    C'est le mot de passe SMTP que vous avez mis, pas celui de votre compte gmail, on est d'accord ?
    Merci pour votre réponse, par contre le mot de passe SMTP, je le connais pas. Comment le retrouver ? (Google ne m'a pas aidé)

  13. #13
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 438
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 438
    Points : 4 936
    Points
    4 936
    Par défaut
    Le mot de passe SMTP est celui généré et renvoyé par gmail après avoir activer l'identifications à deux étapes, regarde
    , c'est en anglais (langue machine) mais c'est claire.

  14. #14
    Membre averti Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 429
    Points
    429
    Par défaut
    D'après les messages d'erreur, je penses que le port est 465 est le bon, mais qu'il y a un problème de mot de passe pour le mail
    C'est celui du mail correspondant.
    Les 3 autres ports annoncent que la connexion est refusée, tandis que la 465 : SMTP Error: Could not authenticate.

    Le mieux serait de ne rien configurer dans le php.ini et tout faire dans l'initialisation du script de la page php.

  15. #15
    Membre averti Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 429
    Points
    429
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Merci pour votre réponse, par contre le mot de passe SMTP, je le connais pas. Comment le retrouver ? (Google ne m'a pas aidé)
    Si tu as un client mail, c'est le même mot de passe
    Autrement celui que tu as introduit à la création du mail si c'est un mail générique uniquement pour cette fonctionnalité ... chose que j'ai fait.

    EDIT :
    Sinon demander un nouveau mot de passe, mais j'espère que tu as défini un mail de secours

  16. #16
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 470
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 470
    Points : 5 830
    Points
    5 830
    Billets dans le blog
    1
    Par défaut
    L'anglais, c'est pas ma tasse de thé. Autant, je peux le lire (et même quand il faut, l'écrire), autant à l'oral, c'est plus dur. Pas de bol, là, c'est de l'oral. En plus, sur mon PC, tout est en français et l'écran montré est en anglais...
    Bon, j'ai quand même compris qu'il fallait aller sur le compte Google, dans l'onglet Securité (ou Security) et dans la validation en 2 étapes.
    Sauf que j'ai pas la même chose que dans la vidéo : Nom : Capture d’écran.png
Affichages : 152
Taille : 286,9 Ko

    Même en commentant tout dans le PHP.INI, l'erreur est la même :
    2023-03-18 22:01:20 SMTP ERROR: Failed to connect to server: Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée (10061)
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...roubleshooting
    SMTP connect() failed. https://github.com/PHPMailer/PHPMail...leshootingSMTP server error: Failed to connect to server SMTP code: 10061 Additional SMTP info: Aucune connexion n’a pu être établie car l’ordinateur cible l’a expressément refusée
    Je pense, comme le dit Toufik au post 11 que c'est un problème de mettre le bon mot de passe (et aussi le bon username, non ?)
    Mais si dans le compte Google, onglet sécurité, je clique sur Validation en 2 étapes, il me demande un mot de passe et le mot de passe du compte gmail est accepté. Bref, chu pas avancé...A demain

    EDIT : oui, j'ai bien un mail de récupération, mais si je demande un nouveau mot de passe, c'est pour le compte gmail, pas pour le SMTP...

  17. #17
    Membre averti Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 429
    Points
    429
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    EDIT : oui, j'ai bien un mail de récupération, mais si je demande un nouveau mot de passe, c'est pour le compte gmail, pas pour le SMTP...
    Oui et tu te connectes comment ? : Nom d'utilisateur et mot de passe ... pour PHPMailer c'est le même, il se connecte sur ton mail comme client (comme par ex. Outlook) !

    Une double authentification est peut-être possible, mais je ne connais pas la procédure.

  18. #18
    Membre averti Avatar de ddaweb
    Homme Profil pro
    Webmaster amateur
    Inscrit en
    Janvier 2013
    Messages
    329
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Webmaster amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Janvier 2013
    Messages : 329
    Points : 429
    Points
    429
    Par défaut
    Ce qui est à vérifier, le mode d'encryption et le port utilisé (je crois que c'est 465 pour toi) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;            //Enable implicit TLS encryption
    $mail->Port       = 26;
    Dans mon cas, j'ai du mettre TLS, le port étant propre à chaque serveur SMTP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $mail->SMTPSecure = 'tls';										// ----- Type d'encryption
    $mail->Port       = 26;
    EDIT :
    Je viens de trouver quelques éléments de réponse : https://kinsta.com/fr/blog/serveur-smtp-gmail/

    EDIT 2 :
    Cela confirme :

    Dans cette section, nous allons vous montrer comment envoyer des emails en utilisant les serveurs SMTP de Google à travers un domaine personnalisé via votre compte gmail ou une extension dans WordPress.

    Serveur SMTP Gmail : smtp.gmail.com
    Nom d’utilisateur Gmail SMTP : Votre adresse Gmail complète, telle que youremail@gmail.com
    Mot de passe SMTP Gmail : Votre mot de passe Gmail.
    Port SMTP Gmail : 465 (SSL)/587 (TLS)
    TLS/SSL : Obligatoire.

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 30/10/2014, 12h27
  2. compteur qui ne fait pas son travaile
    Par schats dans le forum Langage
    Réponses: 4
    Dernier message: 21/02/2011, 12h48
  3. opérateur > qui fait pas son job
    Par LDDL dans le forum Requêtes
    Réponses: 1
    Dernier message: 27/04/2010, 10h31
  4. update qui fait pas son boulot !
    Par mami900 dans le forum SQL
    Réponses: 5
    Dernier message: 19/04/2007, 20h20
  5. noRouteAction ne fait pas son boulot?
    Par pyd001 dans le forum MVC
    Réponses: 4
    Dernier message: 14/02/2007, 00h05

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