Erreur fatale PHP : PHPMailer\PHPMailer\Exception non intercepté : Erreur SMTP : Impossible de se connecter à l'hôte SMTP
P粉128563140
P粉128563140 2023-08-31 10:04:24
0
1
498
<p>J'ai essayé d'utiliser la fonctionnalité Mot de passe oublié dans PHPMailer et j'ai obtenu cette erreur : </p> <pre class="brush:php;toolbar:false;">[12-mai-2023 17:53:32 UTC] Erreur fatale PHP : PHPMailerPHPMailerException : erreur SMTP : impossible de se connecter à l'hôte SMTP dans /home. /raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php:2233 Trace de la pile: #0 /home/raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php(2019) : PHPMailerPHPMailerPHPMailer->smtpConnect() #1 /home/raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php(1678) : PHPMailerPHPMailerPHPMailer->smtpSend() #2 /home/raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php(1516) : PHPMailerPHPMailerPHPMailer->postSend() #3 /home/raso1970/cliquedigitalepdo.com4muz.com/forgot.php(75) : PHPMailerPHPMailerPHPMailer->send() #4 {principal} lancé dans /home/raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php sur la ligne 2233</pre> <p>Voici mon code dans Forget.php : </p> <pre class="brush:php;toolbar:false;"><?php ini_set('display_errors', '1'); ini_set('display_startup_errors', '1'); rapport d'erreur (E_ALL); utilisez PHPMailerPHPMailerPHPMailer ; utilisez PHPMailerPHPMailerSMTP ; utilisez PHPMailerPHPMailerException ; ?> <?php ob_start(); ?> <?php inclut "config/db.php" ?> <?php include "includes/header.php"; <!-- CONNEXION ----> <?php nécessite './vendor/autoload.php'; if(!isset($_GET['oublié'])) { redirect('https://cliquedigitalepdo.com4muz.com/'); }si(IfItIsMethod('post')) { if(isset($_POST['email'])) { $email = $_POST['email']; $longueur = 50 ; $token = bin2hex(openssl_random_pseudo_bytes($length)); si(email_exists($email)) { if($stmt = $connection->prepare("UPDATE users SET token = :token WHERE user_email = :email")) { $stmt->bindValue(':token', $token); $stmt->bindValue(':email', $email); $stmt->exécuter([ 'jeton' => $jeton, 'e-mail' => $email ]); // $stmt->close(); /*** * * Configurer PHPMailer * **/ $mail = nouveau PHPMailer(true); $mail->isSMTP(); $mail->Hôte = Config::SMTP_HOST; $mail->Nom d'utilisateur = Config::SMTP_USER; $mail->Mot de passe = Config::SMTP_PASSWORD; $mail->Port = Config::SMTP_PORT; $mail->SMTPSecure = 'PHPMailer::ENCRYPTION_SMTPS'; $mail->SMTPAuth = 'ssl'; $mail->isHTML(true); $mail->CharSet = 'UTF-8'; $mail->setFrom('contact@com4muz.com'); $mail->addAddress('contact@com4muz.com'); $mail->Sujet = 'Veuillez réinitialiser votre mot de passe'; $mail->Body = '<p>Cliquez sur le lien pour réinitialiser votre mot de passe <a href="https://cliquedigitalepdo.com4muz.com/reset.php?email='.$email.'&token='.$token.' ">https://cliquedigitalepdo.com4muz.com/reset.php?email='.$email.'&token='.$token.'</a> </p>'; si($mail->envoyer()) { $emailEnvoyé = vrai ; } autre { echo "NON ENVOYÉ" ; } } } } }?> <main class="main__content_wrapper"> <!-- Démarrer la section du fil d'Ariane --> <section class="breadcrumb__section breadcrumb__bg"> <div class="conteneur"> <div class="ligne ligne-cols-1"> <div class="col"> <div class="breadcrumb__content text-center"> <h1 class="breadcrumb__content--title mb-10">Mot de Passe Oublié</h1> <ul class="breadcrumb__content--menu d-flex justifier-content-center"> <li class="breadcrumb__content--menu__items"><a href="https://cliquedigitalepdo.com4muz.com/">Accueil</a></li> <li class="breadcrumb__content--menu__items"><span class="text__secondary">Mot de Passe Oublié</span></li> </ul> </div> </div> </div> </div> <img class="breadcrumb__section--shape--bg" src="https://cliquedigitalepdo.com4muz.com/assets/img/other/breadcrumb-shape-bg.webp" alt="fil d'Ariane-img"> ≪/section> <!-- Fin du fil d'Ariane --> <!-- Démarrer la section de connexion --> <div class="login__section section--padding"> <?php if(!isset($emailSent)): ?> <div class="conteneur"> <form method="post"> <div class="login__section--inner"> <div class="ligne ligne-cols-md-1 ligne-cols-1"> <div class="col"> <div class="account__login"> <div class="account__login--header mb-25"> <h2 class="account__login--header__title h3 mb-10 text-center">Vous avez oublié votre mot de passe ?</h2> <p class="account__login--header__desc text-center">Entrez votre adresse email</p> </div> <div class="account__login--inner"> <étiquette> <input name="email" class="account__login--input" placeholder="Adresse e-mail" tapez="e-mail"> </étiquette> <button class="account__login--btn Primary__btn" name="connexion" type="soumettre">Envoyer</bouton> </div> </div> </div> </div> </div> </formulaire> </div> <?php sinon : ?> <h4>Veuillez Vérifier Votre Boîte Mail</h4> <?php endIf; ?> </div> <!-- Fin de la section de connexion --> <!-- Démarrer la section newsletter --> <section class="newsletter__section newsletter__bg2 section--padding"> <div class="conteneur"> <div class="row row-cols-md-2 row-cols-1 align-items-center"> <div class="col"> <div class="newsletter__content"> <h2 class="newsletter__content--title text-white">Rejoignez Notre Newsletter</h2> <p class="newsletter__content--desc text-white">Devenez les premiers à découvrir toutes nos actualités relatifs au monde du numérique et les nouvelles tendances</p> </div> </div> <div class="col"> <div class="newsletter__subscribe"> <form class="newsletter__subscribe position__relative" action="#"> <étiquette> <input class="newsletter__subscribe--input" placeholder="Entrez votre adresse email" tapez="e-mail"> </étiquette> <button class="newsletter__subscribe--button style2 Primary__btn" type="submit">S'inscrire <svg class="newsletter__subscribe--button__icon" xmlns="http://www.w3.org/2000/svg" largeur = "14,34" hauteur = "14,34" viewBox="0 0 14.34 14.34"> <identifiant du chemin="ic_near_me_24px" d="M17.34,3,3,9V9.78l5.449,2.111,2.1,5.449h.781Z" transform="translate(-3 -3)" fill="currentColor"/> </svg> </bouton> </formulaire> </div> </div> </div> </div> </section> <!-- Fin de la section newsletter --> </principal> <?php include "includes/footer.php" <p>J'ai essayé de commenter ces deux lignes : </p> <pre class="brush:php;toolbar:false;">utiliser PHPMailerPHPMailerSMTP ; utilisez PHPMailerPHPMailerException;</pre> <p>Il ne semble pas pouvoir se connecter à SMTP, mais j'utilise la même configuration SMTP pour envoyer des e-mails depuis contact.php et cela fonctionne. </p> <p><strong>PS : </strong>Il convient de noter que j'utilise le même code localement et que cela fonctionne. Le problème n’existe donc qu’en ligne. </p> <p>J'utilise la même version PHP 8.2 pour les applications locales et en ligne. </p>
P粉128563140
P粉128563140

répondre à tous(1)
P粉094351878

J'ai réglé le problème. En fait, forgot.php la ligne 60 contient une faute de frappe.

Pour une raison quelconque, j'ai écrit des guillemets simples. Alors, j'ai remplacé ceci :

$mail->SMTPSecure = 'PHPMailer::ENCRYPTION_SMTPS';

Via ceci :

$mail->SMTPSecure = PHPMailer::ENCRYPTION_SMTPS;

Maintenant, cela fonctionne et je peux envoyer des emails pour réinitialiser mon mot de passe.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!