> 백엔드 개발 > PHP 튜토리얼 > 내 PHP 코드에서 Gmail SMTP 인증이 실패하는 이유는 무엇입니까?

내 PHP 코드에서 Gmail SMTP 인증이 실패하는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-31 19:09:09
원래의
262명이 탐색했습니다.

Why Am I Getting Gmail SMTP Authentication Failures in My PHP Code?

Gmail SMTP 서버를 통해 이메일을 보낼 수 없습니다: 인증 실패

PHP 페이지에서 Gmail의 SMTP 서버를 통해 이메일을 보내려고 하면 종종 결과가 발생합니다 인증 실패 오류로 인해 사용자는 좌절감을 느낍니다. 제공된 PHP 코드에는 필수 구성 설정이 부족한 것으로 보이므로 이 문제에 특히 취약합니다.

이 문제를 해결하려면 올바른 PHP 구성이 중요합니다. 코드에는 다음 매개변수가 포함되어야 합니다.

  • SSL 암호화: Gmail SMTP에는 보안 연결이 필요하므로 'host' 매개변수를 'ssl://smtp'로 설정해야 합니다. gmail.com'. 이는 SSL 암호화를 활성화하여 안전한 데이터 전송을 보장합니다.
  • 포트 구성: 'port' 매개변수는 SSL을 통한 SMTP용으로 지정된 포트이므로 '465'로 설정해야 합니다.
  • 업데이트된 PHP 메일 라이브러리: 최신 버전의 PHP 메일 라이브러리(PEAR 메일)를 사용하여 향상된 기능과 버그 수정.

다음은 필수 설정을 통합하여 인증 실패 문제를 해결하는 업데이트된 PHP 코드입니다.

// Pear Mail Library
require_once "Mail.php";

$from = '<[email&#160;protected]>';
$to = '<[email&#160;protected]>';
$subject = 'Hi!';
$body = "Hi,\n\nHow are you?";

$headers = array(
    '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>');
}
?>
로그인 후 복사

이러한 수정 사항을 구현하면 이제 PHP 스크립트에서 다음을 수행할 수 있습니다. 인증 실패 없이 Gmail의 SMTP 서버를 통해 이메일을 보낼 수 있습니다.

위 내용은 내 PHP 코드에서 Gmail SMTP 인증이 실패하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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