찾다

 >  Q&A  >  본문

PHP 치명적인 오류: 포착되지 않은 PHPMailer\PHPMailer\Exception: SMTP 오류: SMTP 호스트에 연결할 수 없습니다.

<p>PHPMailer의 비밀번호 찾기 기능을 사용하려고 했으나 다음 오류가 발생했습니다.</p> <pre class="brush:php;toolbar:false;">[12-May-2023 17:53:32 UTC] PHP 치명적인 오류: 포착되지 않음 PHPMailerPHPMailerException: SMTP 오류: /home에서 SMTP 호스트에 연결할 수 없습니다. /raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php:2233 스택 추적: #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 {메인} /home/raso1970/cliquedigitalepdo.com4muz.com/vendor/phpmailer/phpmailer/src/PHPMailer.php 라인 2233</pre>에 던져졌습니다. <p>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); PHPMailerPHPMailerPHPMailer를 사용하세요. PHPMailerPHPMailerSMTP를 사용하십시오. PHPMailerPHPMailerException을 사용하십시오. ?> <?php ob_start() ?> <?php에는 "config/db.php"가 포함됩니다. ?> <?php include "includes/header.php" <!-- 로그인 --> Host = 구성::SMTP_HOST; $mail->사용자 이름 = 구성::SMTP_USER; $mail->비밀번호 = 구성::SMTP_PASSWORD; $mail->포트 = 구성::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->Subject = '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>'; if($mail->send()) { $emailSent = 사실; } 또 다른 { 에코 "보내지 않음"; } } } } }?> <메인 클래스="main__content_wrapper"> <!-- 탐색경로 섹션 시작 --> <섹션 클래스="breadcrumb__section breadcrumb__bg"> <div class="컨테이너"> <div class="row row-cols-1"> <div 클래스="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"> </섹션> <!-- 탐색경로 섹션 끝 --> <!-- 로그인 섹션 시작 --> <div class="login__section 섹션--padding"> <?php if(!isset($emailSent)): ?> <div class="컨테이너"> <양식 방법="게시물"> <div class="login__section--inner"> <div class="행 row-cols-md-1 row-cols-1"> <div 클래스="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 주소 이메일</p> </div> <div class="account__login--inner"> <라벨> <입력 이름="이메일" class="account__login--input" placeholder="주소 이메일" type="이메일"> </라벨> <버튼 클래스="account__login--btn Primary__btn" 이름="로그인" type="submit">Envoyer </div> </div> </div> </div> </div> </양식> </div> <?php 다른: ?> <h4>Veuillez Vérifier Votre Boîte Mail</h4> <?php endIf; ?> </div> <!-- 로그인 섹션 끝 --> <!-- 뉴스레터 섹션 시작 --> <section class="newsletter__section newsletter__bg2 section--padding"> <div class="컨테이너"> <div class="행 row-cols-md-2 row-cols-1 정렬 항목-센터"> <div 클래스="col"> <div class="newsletter__content"> <h2 class="newsletter__content--title text-white">Rejoignez Notre 뉴스레터</h2> <p class="newsletter__content--desc text-white">Devenez les premiers à découvrez는 실제 제품을 홍보합니다. 친척 au monde du digital et les nouvelles tentances</p> </div> </div> <div 클래스="col"> <div class="newsletter__subscribe"> <form class="newsletter__subscribe position__relative" action="#"> <라벨> <input class="newsletter__subscribe--input" placeholder="Entrez votre 주소 이메일" type="이메일"> </라벨> <버튼 클래스="newsletter__subscribe--버튼 스타일2 기본__btn" type="submit">S'inscrire <svg class="newsletter__subscribe--button__icon" xmlns="http://www.w3.org/2000/svg" 너비 = "14.34" 높이="14.34"; viewBox="0 0 14.34 14.34"> <경로ID="ic_near_me_24px" d="M17.34,3,3,9V9.78l5.449,2.111,2.1,5.449h.781Z" 변환="번역(-3 -3)" fill="currentColor"/> </svg> </버튼> </양식> </div> </div> </div> </div> </섹션> <!-- 뉴스레터 섹션 끝 --> </메인> <?php include "includes/footer.php"></pre> <p>다음 두 줄을 주석 처리해 보았습니다. </p> <pre class="brush:php;toolbar:false;">phpMailerPHPMailerSMTP를 사용하세요. PHPMailerPHPMailerException;</pre>을 사용하세요. <p>SMTP에 연결할 수 없는 것 같지만 동일한 SMTP 구성을 사용하여 contact.php에서 이메일을 보내고 있는데 작동합니다. </p> <p><strong>PS: </strong>동일한 코드를 로컬에서 사용하고 있으며 작동한다는 점은 주목할 가치가 있습니다. 따라서 문제는 온라인에서만 존재합니다. </p> <p>저는 로컬과 온라인 애플리케이션 모두에 동일한 PHP 버전 8.2를 사용합니다. </p>
P粉128563140P粉128563140484일 전591

모든 응답(1)나는 대답할 것이다

  • P粉094351878

    P粉0943518782023-09-01 09:13:56

    정리했습니다. 실제로 forgot.php 60행에 오타가 있습니다.

    어떤 이유에서인지 작은따옴표를 썼습니다. 그래서 이것을 교체했습니다:

    으아악

    이것을 통해:

    으아악

    이제 작동하며 이메일을 보내 비밀번호를 재설정할 수 있습니다.

    회신하다
    0
  • 취소회신하다