>백엔드 개발 >PHP 튜토리얼 >PHPMailer를 사용하여 Gmail의 SMTP 서버를 통해 이메일을 보낼 수 없는 이유는 무엇입니까?

PHPMailer를 사용하여 Gmail의 SMTP 서버를 통해 이메일을 보낼 수 없는 이유는 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-18 07:53:10716검색

Why Can't I Send Emails via Gmail's SMTP Server with PHPMailer?

PHPMailer를 사용하여 Gmail의 SMTP 서버를 통해 이메일을 보낼 수 없음: SMTP 인증 문제 해결

Gmail의 SMTP 서버를 활용하여 PHPMailer를 사용하여 이메일을 전송하려고 할 때 PHPMailer를 사용하는 경우 "포트 587에서 메시지를 제출하려면 SMTP AUTH가 필요합니다."라는 오류가 발생할 수 있습니다. 이 오류는 이메일을 보내기 전에 인증이 필요함을 나타냅니다. 이 문제를 해결하는 방법은 다음과 같습니다.

이 문제를 해결하려면 다음 수정이 필요합니다.

$mail = new PHPMailer(); // New PHPMailer object
$mail->IsSMTP(); // Enable SMTP protocol
$mail->SMTPDebug = 1; // For debugging (log errors and messages)
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->SMTPSecure = 'ssl'; // Utilize Secure Socket Layer (SSL) for secure transmission (required for Gmail)
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // Or 587 depending on server settings
$mail->IsHTML(true); // Allow HTML-formatted emails
$mail->Username = "johndoe@gmail.com"; // Your Gmail username
$mail->Password = "mysecretpassword"; // Your Gmail password
$mail->SetFrom("sender@gmail.com"); // Set sender address
$mail->Subject = "Test Email";
$mail->Body = "Hello from PHPMailer!";
$mail->AddAddress("recipient@gmail.com"); // Add recipient address

if (!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Email sent successfully!";
}

주요 고려 사항:

  • 관련 Gmail 계정에 대해 2단계 인증이 비활성화되어 있는지 확인하세요.
  • 확인 SMTP 서버가 SSL 또는 TLS 연결을 지원하는지 확인하세요.
  • 문제가 지속되면 "SMTPSecure" 설정을 'ssl' 대신 'tls'로 조정해 보세요.

위 내용은 PHPMailer를 사용하여 Gmail의 SMTP 서버를 통해 이메일을 보낼 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.