PHP Mailer의 "SMTP 오류: 인증할 수 없음"
Gmail을 통한 전자 메일 보내기 단순 스크립트에서 PHMailer를 사용하고 있는데 "알 수 없는 오류"(적어도 나에게는!)가 표시됩니다.
SMTP 오류: 인증할 수 없습니다.오류: SMTP 오류: 인증할 수 없습니다.
SMTP 서버 오류: 5.7.1 사용자 이름 및 암호가 허용되지 않습니다.535 5.7.1에서 자세히 알아보기 http://mail.google.com/support/bin/answer.py?answer=14257 p38sm2467302ybk.16
SSL/TLS 연결을 위한 OpenSSL 구성에 대해 읽고 실행했습니다.Apache 및 PHP가 올바르게 구성되어 있습니다(PHP에서 OpenSSL 확장 실행 및 Apache 2.2.16에서 mod_ssl 실행).
PHP 스크립트는 다음과 같습니다.
<?php
require_once ("PHPMailer\class.phpmailer.php");
$Correo = new PHPMailer();
$Correo->IsSMTP();
$Correo->SMTPAuth = true;
$Correo->SMTPSecure = "tls";
$Correo->Host = "smtp.gmail.com";
$Correo->Port = 587;
$Correo->UserName = "foo@gmail.com";
$Correo->Password = "gmailpassword";
$Correo->SetFrom('foo@gmail.com','De Yo');
$Correo->FromName = "From";
$Correo->AddAddress("bar@hotmail.com");
$Correo->Subject = "Prueba con PHPMailer";
$Correo->Body = "<H3>Bienvenido! Esto Funciona!</H3>";
$Correo->IsHTML (true);
if (!$Correo->Send())
{
echo "Error: $Correo->ErrorInfo";
}
else
{
echo "Message Sent!";
}
?>
사용자 이름과 비밀번호는 괜찮습니다. 그리고 저는 썬더버드에서 문제없이 시도했습니다.저도 SSL 인증과 포트 465를 사용했는데 같은 오류가 발생했습니다.
저는 이 문제에 직면했습니다.작동하기 위해서는 myaccount.google.com -> "로그인 & 보안" -> "계정 액세스 권한이 있는 앱"으로 이동하여 "보안이 덜한 앱 허용"을 "ON"(페이지 하단 근처)으로 전환해야 했습니다.
또는 이 설정에 대한 직접 링크를 따라 이동할 수 있습니다.
이것은 GMail 이슈입니다.
이 Google 도움말(https://support.google.com/mail/answer/14257?p=client_login&rd=1) 을 읽어보십시오.
- 웹 브라우저를 열고 http://mail.google.com/mail 에서 Gmail에 로그인합니다.단어 확인 요청이 표시되면 왜곡된 그림에 문자를 입력하고 로그인을 마칩니다.
- 브라우저를 닫고 전자 메일 클라이언트의 메시지에 다시 액세스합니다.
- 여전히 문제가 있는 경우 http://www.google.com/accounts/DisplayUnlockCaptcha 을 방문하여 Gmail 사용자 이름과 암호로 로그인합니다.필요한 경우 왜곡된 그림에 문자를 입력합니다.
- 계속을 클릭합니다.
- 메일 클라이언트를 다시 시작하고 전자 메일 클라이언트의 메시지에 다시 액세스합니다.
대신 사용해 보십시오.
$Correo->사용자 이름 = "foo@gmail.com ";
테스트를 해보니 다른 변화 없이 완벽하게 작동합니다.
저는 같은 오류를 받았고 저의 경우는 비밀번호였습니다.내 암호에는 특수 문자가 있습니다.
특수 문자를 사용하지 않고 암호를 입력하면 오류가 지속됩니다.
예$mail->Password = " por$ch3";
위의 .
.$mail->Password = "por\$ch3";
비밀번호 내 달러 문자 앞에 백슬래시를 두었습니다.특수 문자를 사용하는 암호가 있으면 작동합니다.
덜 안전한 앱 허용이 더 이상 사용할 수 없기 때문입니다.
솔루션은 2단계 검증을 활성화하고 앱 암호를 생성하는 것이었습니다.
목록에서 메일과 컴퓨터를 선택한 후 [생성]을 누릅니다.
상자에 표시된 코드를 복사하고 구글 비밀번호를 앱 비밀번호로 대체하면 매력적으로 작동합니다.
는 구할때동오발생습다니했류가성일한을 할 때 같은 했습니다.WP-Mail-SMTP
Wordpress의 플러그인입니다.
설정 및 로그인 자격 증명을 '세 번 확인'하고 브라우저를 사용하여 수동으로 로그인할 수 있는 경우에도 문제가 지속됩니다.
이 문제를 해결하기 위해 취할 수 있는 단계 목록이 있습니다.
- 사용할 Gmail 계정의 새 암호 만들기
- Google 보안 설정에서 보안 수준이 낮은 앱 사용
- 이 페이지를 사용하여 앱 또는 웹 사이트에 Gmail에 로그인할 수 있는 권한을 부여합니다.클릭
Continue
또는 지시사항을 따릅니다. - 앱 또는 웹 사이트를 사용하여 로그인합니다.1) SMTP 호스트: smtp.gmail.com 2) SMTP 포트: 5873) 암호화: TLS 4) 인증: SMTP 인증 5) 사용자 이름: example@gmail.com 6) 비밀번호: 비밀예
나의 해결책은 다음과 같습니다.
- 지메일 암호 변경
- gmail에서 "구글 계정 관리" > 보안 > 타사 앱 사용하기
- 이 사이트에서 말한 LockingCaptcha에 의해 발견된 새로운 단계는 정확한 사이트는 https://accounts.google.com/b/0/DisplayUnlockCaptcha, 이지만 아마도 당신은 먼저 이전 사이트를 읽고 싶을 것입니다.
그게 다예요, 당신에게 효과가 있기를 바랍니다.
비밀번호의 퍼센트 기호 때문에 이 오류를 받았습니다.
저는 비밀번호 필드에 특수 문자가 있었고, gmail smpt 서버에서는 작동하지만 다른 서버에서는 작동하지 않는 $mail->Password = "por$ch3"와 같이 입력했습니다. 그래서 저는 큰따옴표를 작은따옴표로 바꿨고 저에게 잘 맞습니다.$mail->암호 = 'port$ch3';
여전히 전자 메일을 보내는 동안 오류가 발생하는 경우 동일한 오류 메시지가 표시됩니다.사용해 보십시오.
$mail->SMTPSecure = 'tls';
$mail->Host = 'smtp.gmail.com';
줄 바로 앞:
$send = $mail->Send();
또는 Send() 함수를 호출하기 전에 입력합니다.
테스트 완료 및 작동 중.
다른 게시물은 문제를 해결하기 위해 정확하지만 2단계 확인이 켜져 있는 경우 어떻게 해야 하는지에 대해서는 설명하지 않습니다.보안 수준이 낮은 앱을 허용하는 옵션은 사용할 수 없습니다.다음은 방법에 대한 대답입니다.
a. Go to the URL of `https://myaccount.google.com/` and click `Sing-in and security`
b. Click on the app password.
You will reach a page like this,
c. Create name of your app and generate a password for the respective app.
d. Use that password acquired here inside the app.
이렇게 하면 문제가 해결됩니다.
저는 같은 문제를 겪었고 Gmail 설정(예: 덜 안전한 앱 액세스)을 포함한 모든 팁을 실패했습니다.하지만 마침내 비밀번호를 다른 것으로 바꿨을 때, 어떤 이유에서인지 작동했습니다!참고로, 초기 암호에 특수 문자가 없습니다.
- 먼저 https://myaccount.google.com 에 접속하세요.
- 보안 탭 선택
- 아래로 스크롤하여 '안전하지 않은 앱 액세스'를 선택합니다.
- 액세스 설정
이렇게 하면 PHP Mailer의 "SMTP 오류: 인증할 수 없음" 오류가 해결됩니다.
저도 같은 문제가 있어서 팁을 다 해봤는데 운이 없었어요.마침내 비밀번호를 다른 것으로 바꿨을 때, 어떤 이유에서인지 작동했습니다! (초기 비밀번호나 새로운 비밀번호는 특별한 문자가 없었습니다.)
정답: "구글 계정 관리 => 보안 => 구글 로그인 => 앱 비밀번호"로 이동합니다.다른 장치에서 사용할 메일 계정 암호 생성
저도 인증에 같은 문제가 있었습니다.수정 사항은 2단계 확인을 설정하고 장치에 대한 응용 프로그램별 암호를 만드는 것이었습니다(내 계정 설정에 동일한 문제가 있는 경우 장치 차단에 대한 오류 메시지가 나타납니다->"알림 및 경고").
그것은 이러한 리눅스 문제였습니다.방금 /etc/selinux/config 파일의 아래 지정된 부분을 업데이트했습니다.SELINUX=permissive
(이전에는 SELINUX= 솔루션이었습니다.그런 다음 시스템을 재부팅하면 됩니다. 이제 메일이 아무런 문제 없이 진행됩니다.배열
From Email Address : [noreply@yourdomain.com]
From Name : [your domain name]
SMTP Host : smtp.gmail.com
Type of Encryption : SSL
SMTP Port : 465
SMTP Authentication : YES
Username : [your mail id]
Password : [your password]
SMTP 오류: 동일한 문제가 있음을 인증할 수 없습니다.다음 문제 해결 단계가 도움이 되었습니다.
- 제 지메일 계정에서 2단계 인증을 해제했습니다.
- 저는 덜 안전한 앱들이 제 지메일 계정에 접속하도록 허용했습니다.작동하기 위해서, 저는 가야만 했습니다.
myaccount.google.com
->Sign-in & security
->Apps with account access
그리고 돌아감Allow less secure apps
로.ON
(페이지 하단 근처). - 이 단계에서 사용자를 등록하려고 하면 동일한 오류가 발생합니다.구글은 누군가가 내 비밀번호를 가지고 있고 로그인이 차단되었다는 경고 메시지를 보냈습니다.
- 그러면 Gmail에서 옵션을 제공합니다.활동이 자신의 것인지 여부를 클릭합니다.활동이 사용자의 것이었다는 옵션을 클릭합니다.
- 등록을 다시 시도하십시오.이제 작동해야 합니다.
당신의 코드에는 문제가 없습니다.
phpmailer에서 이메일을 보내려면 아래의 두 가지 간단한 단계를 따르십시오.
활성화한 경우 Google 계정에 대한 2단계 확인 설정을 비활성화해야 합니다.
설정을 선택하면 보안 수준이 낮은 앱에 액세스할 수 있습니다.
아래 지침에 따라 수정된 동일한 문제가 있었습니다.
보안 수준이 낮은 앱에 대한 액세스를 테스트합니다(즉, 액세스하려는 계정에 대해 클라이언트/앱이 OAuth 2.0 - https://oauth.net/2/) 를 사용하지 않음).보안 탭의 계정 설정, 계정 권한(2단계 확인이 활성화된 계정에는 사용할 수 없음)에서 찾을 수 있습니다. https://support.google.com/accounts/answer/6010255?hl=en
답변을 위한 원본 링크: https://support.google.com/mail/thread/5621336?msgid=6292199
해결된
2022년에 제가 찾은 이유는
- 메일 서비스에서 2단계 인증을 수행해야 합니다.
- 저는 Mail.ru 을 사용하고 있습니다. https://account.mail.ru/user/2-step-auth/passwords/
출처: https://www.courier.com/error-solutions/smtp-error-could-not-authenticate/
언급URL : https://stackoverflow.com/questions/3949824/smtp-error-could-not-authenticate-in-phpmailer
'programing' 카테고리의 다른 글
데이터베이스 설계 - 날짜를 기본 키의 일부로 사용해야 합니다. (0) | 2023.07.24 |
---|---|
정적 방법의 목적은 무엇입니까?언제 사용해야 하는지 어떻게 알 수 있습니까? (0) | 2023.07.24 |
Python / numpy / panda에서 임의 객체가 NaN인지 효율적으로 확인합니까? (0) | 2023.07.24 |
Oracle SYS_GUID가 변경되지 않음 (0) | 2023.07.24 |
jQuery를 사용하여 텍스트 영역에 텍스트 삽입 (0) | 2023.07.24 |