Ralat Maut PHP: PHPMailer\PHPMailer\Exception yang Tidak Ditangkap: Ralat SMTP: Tidak dapat menyambung ke hos SMTP
P粉128563140
2023-08-31 10:04:24
<p>Saya cuba menggunakan ciri Lupa Kata Laluan dalam PHPMailer dan mendapat ralat ini: </p>
<pre class="brush:php;toolbar:false;">[12-Mei-2023 17:53:32 UTC] PHP Ralat maut: PHPMailerPHPMailerException yang tidak ditangkap: Ralat SMTP: Tidak dapat menyambung ke hos SMTP dalam /home /raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php:2233
Jejak tindanan:
#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 {utama}
dibuang ke dalam /home/raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php pada talian 2233</pre>
<p>Ini adalah kod saya dalam forget.php: </p>
<pre class="brush:php;toolbar:false;"><?php
ini_set('display_errors', '1');
ini_set('display_startup_errors', '1');
error_reporting(E_ALL);
gunakan PHPMailerPHPMailerPHPMailer;
gunakan PHPMailerPHPMailerSMTP;
gunakan PHPMailerPHPMailerException;
?>
<?php ob_start( ?>
<?php sertakan "config/db.php";
<?php sertakan "termasuk/header.php";
<!-- LOG MASUK -->
<?php
memerlukan './vendor/autoload.php';
if(!isset($_GET['lupa'])) {
ubah hala('https://cliquedigitalepdo.com4muz.com/');
}if(IfItIsMethod('post')) {
if(isset($_POST['email'])) {
$emel = $_POST['emel'];
$panjang = 50;
$token = bin2hex(openssl_random_pseudo_bait($length));
if(email_exists($email)) {
if($stmt = $connection->prepare("KEMASKINI pengguna SET token = :token WHERE user_email = :email")) {
$stmt->bindValue(':token', $token);
$stmt->bindValue(':email', $email);
$stmt->laksanakan([
'token' => $token,
'e-mel' => $emel
]);
// $stmt->close();
/***
*
* Konfigurasikan PHPMailer
*
**/
$mel = PHPMailer baharu(benar);
$mail->isSMTP();
$mail->Host = Konfigurasi::SMTP_HOST;
$mail->Nama Pengguna = Konfigurasi::SMTP_USER;
$mail->Kata Laluan = 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->Subjek = 'Veuillez réinitialiser votre mot de passe';
$mail->Badan = '<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>';
if($mail->hantar()) {
$emailSent = benar;
} lain {
bergema "TIDAK DIHANTAR";
}
}
}
}
}?>
<kelas utama="pembungkus_kandungan utama">
<!-- Mulakan bahagian serbuk roti -->
<section class="breadcrumb__section breadcrumb__bg">
<div class="bekas">
<div class="row row-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 justify-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="breadcrumb-img">
</section>
<!-- Tamatkan bahagian serbuk roti -->
<!-- Mulakan bahagian log masuk -->
<div class="login__bahagian bahagian--padding">
<?php if(!isset($emailSent)): ?>
<div class="bekas">
<kaedah borang="siaran">
<div class="log masuk__bahagian--dalaman">
<div class="row row-cols-md-1 row-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 Oubliez Votre Mot de passe ?</h2>
<p class="account__login--header__desc text-center">Entrez votre adresse email</p>
</div>
<div class="account__login--inner">
<label>
<nama input="e-mel" class="log masuk_akaun--input" pemegang tempat="E-mel Alamat" type="e-mel">
</label>
<kelas butang="log masuk__akaun--btn primary__btn" name="log masuk" type="serahkan">Pengirim</button>
</div>
</div>
</div>
</div>
</div>
</form>
</div>
<?php else: ?>
<h4>Veuillez Vérifier Votre Boîte Mail</h4>
<?php endIf; ?>
</div>
<!-- Tamatkan bahagian log masuk -->
<!-- Mulakan bahagian surat berita -->
<kelas bahagian="surat berita__surat berita bahagian__bg2 bahagian--padding">
<div class="bekas">
<div class="row row-cols-md-2 row-cols-1 align-item-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écouvrez toutes nos actualités
saudara-mara au monde du digital et les nouvelles tendances</p>
</div>
</div>
<div class="col">
<div class="newsletter__subscribe">
<form class="newsletter__subscribe position__relative" tindakan="#">
<label>
<kelas input="surat berita__langgan--input" pemegang tempat="Entrez votre adresse email" type="e-mel">
</label>
<kelas butang="surat berita__langgan--gaya butang2 primer__btn" type="serahkan">S'incrire
<svg class="newsletter__subscribe--button__icon" xmlns="http://www.w3.org/2000/svg" lebar="14.34" ketinggian="14.34" viewBox="0 0 14.34 14.34">
<id laluan="ic_near_me_24px" d="M17.34,3,3,9V9.78l5.449,2.111,2.1,5.449h.781Z" transform="terjemah(-3 -3)" fill="currentColor"/>
</svg>
</butang>
</form>
</div>
</div>
</div>
</div>
</section>
<!-- Tamatkan bahagian surat berita -->
</utama>
<?php sertakan "includes/footer.php" ?></pre>
<p>Saya cuba mengulas dua baris ini: </p>
<pre class="brush:php;toolbar:false;">gunakan PHPMailerPHPMailerSMTP;
gunakan PHPMailerPHPMailerException;</pre>
<p>Nampaknya ia tidak dapat menyambung ke SMTP, tetapi saya menggunakan konfigurasi SMTP yang sama untuk menghantar e-mel daripada contact.php dan ia berfungsi. </p>
<p><strong>PS: </strong>Perlu diingat bahawa saya menggunakan kod yang sama secara setempat dan ia berfungsi.
Oleh itu, masalah hanya wujud dalam talian. </p>
<p>Saya menggunakan PHP versi 8.2 yang sama untuk kedua-dua aplikasi tempatan dan dalam talian. </p>
Saya telah menyelesaikannya. Sebenarnya,
forgot.php
baris 60 ada kesilapan taip.Atas sebab tertentu saya menulis petikan tunggal. Jadi, saya menggantikan ini:
Melalui ini:
Kini, ia berfungsi dan saya boleh menghantar e-mel untuk menetapkan semula kata laluan saya.