728x90
PHPMailer로 메일을 보내려고 할 때 메일이 안 가서 SMTPDebug 이 항목을 3으로 바꿔서 로그를 보면 fail이나 error 이런 단어가 보이는 경우가 있습니다. 보통 메일이 정상적으로 간다면 로그를 3으로 두고 찍으면 상당히 길게 나옵니다. 그런데 오류가 발생할 경우는 좀 엄청 짧게 나옵니다. 그 중에서도 아래처럼 TLS를 1.0이나 1.1은 지원하지 않으니 1.2로 올리라고 하는 오류가 있습니다. 특히 host가 smtp.office365.com일 경우입니다.
CLIENT: 421 4.7.66 TLS 1.0 and 1.1 are not supported. Please upgrade/update your client to support TLS 1.2. Visit https://aka.ms/smtp_auth_tls.
이런 경우는 우선 PHPMailer가 설치된 디렉토리로 갑니다. class.smtp.php 파일이 있나 보세요. 그리고 해당 파일을 열고 startTLS()를 찾아보세요.
if (!stream_socket_enable_crypto(
$this->smtp_conn,
true,
//STREAM_CRYPTO_METHOD_TLS_CLIENT 원본
STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT
)) {
return false;
}
위를 보시면 원본이 있는데 그걸 주석으로 막으시고 STREAM_CRYPTO_METHOD_TLSv1_2_CLIENT 이걸로 대체하시면 됩니다.
반응형
'Programming > PHP' 카테고리의 다른 글
[Codeigniter 3]htaccess https && remove index.php (0) | 2024.03.18 |
---|---|
[정규표현식]연락처에 하이픈 넣기 (0) | 2024.01.30 |
달력 (0) | 2023.11.08 |
[Laravel]php artisan schema:dump (0) | 2023.10.20 |
나이스 본인 확인 - 암호화 토큰 발급받기 (0) | 2023.01.17 |