> 백엔드 개발 > PHP 튜토리얼 > PHP Mailer를 사용하여 Gmail의 SMTP 서버를 통해 이메일을 보낼 때 'SMTP AUTH가 필요합니다' 오류가 발생하는 이유는 무엇입니까?

PHP Mailer를 사용하여 Gmail의 SMTP 서버를 통해 이메일을 보낼 때 'SMTP AUTH가 필요합니다' 오류가 발생하는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-12-26 15:16:17
원래의
525명이 탐색했습니다.

Why am I getting an

PHP 메일러를 사용하여 Gmail SMTP 서버를 통해 이메일을 보내는 데 문제가 있습니다: "SMTP AUTH가 필요합니다" 오류

PHP 메일러를 사용하는 Gmail SMTP 서버의 경우 포트 587에서 메시지를 제출하려면 SMTP 인증이 필요하다는 오류가 발생할 수 있습니다. 이 문제는 다음을 구현하여 해결할 수 있습니다. 다음 단계:

  1. SMTP 인증 확인:
    PHP 메일러 코드 내에서 SMTPAuth 플래그가 true로 설정되어 있는지 확인하세요. 이렇게 하면 이메일을 보내기 전에 인증이 가능합니다.
  2. 도메인 제한 확인:
    Gmail에서는 특정 도메인이 SMTP 서버를 통해 이메일을 보낼 수 있도록 도메인 제한이 필요합니다. 도메인(vatandesign.ir)이 사용 중인 Gmail 계정을 통해 이메일을 보낼 수 있도록 승인되었는지 확인하세요.
  3. SMTP 보안 플래그 업데이트:
    $mail->SMTPSecure 플래그를 'ssl'로 설정하거나 'tls'를 사용하여 Gmail SMTP 서버와 보안 연결을 설정합니다.
  4. SSL 가용성 확인:
    연결하려는 SMTP 서버가 SSL 연결을 지원하려면 연결하세요. 일부 서버는 SSL 또는 TLS를 지원하지 않을 수 있습니다.
  5. 2단계 인증 비활성화:
    Google은 보안 강화를 위해 2단계 인증을 구현했습니다. 이메일을 보내는 데 사용하는 Gmail 계정에 대해 2단계 인증을 비활성화합니다.
  6. SMTP 디버그 값 수정:
    $mail->SMTPDebug 플래그를 1 또는 2로 설정합니다. 이렇게 하면 디버깅이 활성화되고 자세한 오류 메시지를 제공하세요.
  7. 테스트 및 문제 해결:
    PHP 메일러 코드를 실행하고 출력을 모니터링하세요. 문제나 경고가 있는지 오류 메시지를 검사합니다.
  8. 포트 구성 업데이트:
    $mail->Port 값을 465 또는 587로 변경하여 실험해 보세요. 서버마다 다양한 포트를 사용할 수 있습니다.
  9. SMTP 서버에 문의:
    문제가 지속되면 SMTP 서버 제공업체에 문의하여 추가 문의를 고려할 수 있습니다.

샘플 작업 코드:

이 수정된 샘플 코드는 문제 해결에 도움이 될 수 있습니다.

$mail = new PHPMailer(); // create a new object
$mail->IsSMTP(); // enable SMTP
$mail->SMTPDebug = 1; // debugging: 1 = errors and messages, 2 = messages only
$mail->SMTPAuth = true; // authentication enabled
$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for Gmail
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // or 587
$mail->IsHTML(true);
$mail->Username = "[email protected]";
$mail->Password = "password";
$mail->SetFrom("[email protected]");
$mail->Subject = "Test";
$mail->Body = "hello";
$mail->AddAddress("[email protected]");

if (!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Message has been sent";
}
로그인 후 복사

이 코드에는 테스트 및 작동 확인을 거쳤습니다. 이러한 제안 사항을 구현하면 PHP Mailer를 사용하여 Gmail SMTP 서버를 통해 이메일을 성공적으로 보낼 수 있습니다.

위 내용은 PHP Mailer를 사용하여 Gmail의 SMTP 서버를 통해 이메일을 보낼 때 'SMTP AUTH가 필요합니다' 오류가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿