PHPmailer의 SMTP 연결 실패: 문제 해결
PHPmailer를 통해 이메일을 보낼 때 개발자는 "메일러 오류: SMTP" 오류가 발생할 수 있습니다. 연결()이 실패했습니다." 이 문제는 Gmail의 SMTP 서버를 사용할 때 자주 발생합니다.
해결책은 Google이 새로운 인증 메커니즘인 XOAUTH2를 구현하는 데 있습니다. PHPmailer가 Gmail의 SMTP에 연결하도록 허용하려면 Google 계정에서 "보안 수준이 낮은 앱" 설정을 활성화해야 합니다. 이 단계에서는 엄격한 암호화 프로토콜을 준수하지 않는 애플리케이션에 대한 액세스 권한을 부여합니다.
또한 포트 465를 통해 SSL을 사용하는 대신 포트 587을 통해 TLS로 전환합니다. TLS는 요청이 안전하게 암호화되어 Google 요구 사항을 충족하도록 보장합니다. .
아래는 이러한 변경 사항을 통합한 수정된 코드 조각입니다.
<code class="php">require_once 'C:\xampp\htdocs\email\vendor\autoload.php'; define ('GUSER','[email protected]'); define ('GPWD','your password'); // make a separate file and include this file in that. call this function in that file. function smtpmailer($to, $from, $from_name, $subject, $body) { global $error; $mail = new PHPMailer(); // create a new object $mail->IsSMTP(); // enable SMTP $mail->SMTPDebug = 2; // debugging: 1 = errors and messages, 2 = messages only $mail->SMTPAuth = true; // authentication enabled $mail->SMTPSecure = 'tls'; // secure transfer enabled REQUIRED for GMail $mail->SMTPAutoTLS = false; $mail->Host = 'smtp.gmail.com'; $mail->Port = 587; $mail->Username = GUSER; $mail->Password = GPWD; $mail->SetFrom($from, $from_name); $mail->Subject = $subject; $mail->Body = $body; $mail->AddAddress($to); if(!$mail->Send()) { $error = 'Mail error: '.$mail->ErrorInfo; return false; } else { $error = 'Message sent!'; return true; } }</code>
이러한 수정 사항을 구현하면 Gmail의 SMTP 서버에 대한 연결을 성공적으로 설정하고 PHPmailer를 통해 이메일을 전송할 수 있습니다.
위 내용은 Gmail에서 PHPmailer를 사용할 때 \'SMTP Connect() 실패\' 오류를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!