PHP5.6에서 PHPMailer가 \'피어 인증서 불일치\' 오류를 발생시키는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-10-27 06:23:29
원래의
491명이 탐색했습니다.

 Why Does PHPMailer Throw a

PHPMailer 경고: 피어 인증서 불일치

"PHP 경고: stream_socket_enable_crypto(): 피어 인증서가 예상과 일치하지 않았습니다" 오류가 발생하는 PHPMailer 사용자 PHP 5.6에서는 인증서 확인 문제에 직면할 수 있습니다.

배경:

PHP 5.6에서는 SSL 연결에 대해 더욱 엄격한 인증서 확인을 도입했습니다. 결과적으로 원격 서버의 SSL 구성이 잘못된 경우 PHPMailer는 연결을 암호화하지 못합니다.

증상:

  • 연결 실패 오류 : PHPMailer에 "SMTP 호스트에 연결할 수 없습니다."가 표시됩니다.
  • 로깅 오류: 로그에 인증서 불일치 경고가 표시됩니다. "피어 인증서 CN=*.mail.dreamhost.com ...'가 예상한 CN=mx1.sub4.homie.mail.dreamhost.com...'과 일치하지 않습니다.
  • 즉시 QUIT 명령: PHPMailer는 이후에 QUIT 명령을 실행할 수 있습니다. STARTTLS를 시도하면 암호화 실패를 나타냅니다.

해결책:

권장 해결 방법은 원격 서버의 인증서 또는 확인 설정을 수정하는 것입니다. 여기에는 유효하지 않은 인증서를 유효한 인증서로 교체하거나 SSL 설정을 재구성하는 작업이 포함될 수 있습니다.

대안:

즉시 전달이 필요하고 인증서 불일치가 중요하지 않은 경우, 다음 옵션을 사용하여 PHPMailer에서 인증서 유효성 검사를 비활성화할 수 있습니다.

$mail->SMTPOptions = array (
    'ssl' => array(
        'verify_peer'  => false,
        'verify_peer_name'  => false,
        'allow_self_signed' => true));
로그인 후 복사

참고: 인증서 유효성 검사를 비활성화하면 유효하지 않은 인증서를 수락하여 보안이 손상될 수 있으므로 권장되지 않습니다.

위 내용은 PHP5.6에서 PHPMailer가 \'피어 인증서 불일치\' 오류를 발생시키는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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