PHPMailer의 비밀번호 찾기 기능을 사용하려고 했으나 다음 오류가 발생했습니다.
[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에 던져졌습니다.
forget.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 = 'Cliquez sur le lien pour réinitialiser votre mot de passe https://cliquedigitalepdo.com4muz.com/reset.php?email='.$email.'&token='.$token.'
'; if($mail->send()) { $emailSent = 사실; } 또 다른 { 에코 "보내지 않음"; } } } } }?> <메인 클래스="main__content_wrapper"> <섹션 클래스="breadcrumb__section breadcrumb__bg">섹션>
<양식 방법="게시물">양식>Entrez votre 주소 이메일
<라벨> <입력 이름="이메일" class="account__login--input" placeholder="주소 이메일" type="이메일"> 라벨> <버튼 클래스="account__login--btn Primary__btn" 이름="로그인" type="submit">EnvoyerVeuillez Vérifier Votre Boîte Mail
다음 두 줄을 주석 처리해 보았습니다.
phpMailerPHPMailerSMTP를 사용하세요. PHPMailerPHPMailerException;을 사용하세요.
SMTP에 연결할 수 없는 것 같지만 동일한 SMTP 구성을 사용하여 contact.php에서 이메일을 보내고 있는데 작동합니다.
PS: 동일한 코드를 로컬에서 사용하고 있으며 작동한다는 점은 주목할 가치가 있습니다. 따라서 문제는 온라인에서만 존재합니다.
저는 로컬과 온라인 애플리케이션 모두에 동일한 PHP 버전 8.2를 사용합니다.
정리했습니다. 실제로
forgot.php
60행에 오타가 있습니다.어떤 이유에서인지 작은따옴표를 썼습니다. 그래서 이것을 교체했습니다:
으아악이것을 통해:
으아악이제 작동하며 이메일을 보내 비밀번호를 재설정할 수 있습니다.