> 백엔드 개발 > PHP 튜토리얼 > PHP에서 Gmail의 SMTP 서버를 통해 이메일을 보낼 때 인증 실패가 발생하는 이유는 무엇입니까?

PHP에서 Gmail의 SMTP 서버를 통해 이메일을 보낼 때 인증 실패가 발생하는 이유는 무엇입니까?

Patricia Arquette
풀어 주다: 2024-12-20 00:23:08
원래의
388명이 탐색했습니다.

Why Am I Getting an Authentication Failure When Sending Emails via Gmail's SMTP Server from PHP?

GMail의 SMTP 서버를 통해 이메일을 보낼 수 없습니까?

PHP 페이지에서 Gmail의 SMTP 서버를 통해 이메일을 보내려고 하면 다음과 같은 문제가 발생할 수 있습니다. 오류:

인증 실패 [SMTP: SMTP 서버가 인증을 지원하지 않습니다(코드: 250, 응답: mx.google.com 서비스, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

이 오류는 PHP 코드에 올바른 SSL 설정이 없을 때 자주 발생합니다. 문제를 해결하는 방법은 다음과 같습니다.

수정된 PHP 코드:

<br>// Pear Mail Library<br>require_once "Mail.php" ;</p>
<p>$from = '<[이메일 보호]>';<br>$to = '<[이메일 보호]>';<br>$subject = '안녕하세요!';<br>$body = "안녕하세요,nn어떻게 지내세요? 당신?";</p>
<p>$headers = array(</p>
<div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">'From' => $from,
'To' => $to,
'Subject' => $subject
로그인 후 복사

);

$smtp = Mail::factory('smtp', array(

    'host' => 'ssl://smtp.gmail.com',
    'port' => '465',
    'auth' => true,
    'username' => '[email&#160;protected]',
    'password' => 'passwordxxx'
));
로그인 후 복사

$mail = $smtp-> send($to, $headers, $body);

if (PEAR::isError($mail)) {

echo('<p>' . $mail->getMessage() . '</p>');
로그인 후 복사

} else {

echo('<p>Message successfully sent!</p>');
로그인 후 복사

}

주요 차이점:

  • 이제 호스트에는 다음이 포함됩니다. ssl:// 보안 연결을 나타냅니다.
  • 포트가 표준 SSL 포트인 465로 변경됩니다.

이러한 변경 사항을 구현하면 적절한 SSL 암호화가 보장됩니다. 인증실패 오류를 방지하세요.

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

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