Erreur fatale PHP : PHPMailer\PHPMailer\Exception non intercepté : Erreur SMTP : Impossible de se connecter à l'hôte SMTP
<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>