PHPMailer - как отключить проверку SSL через verify peer и verify peer name: различия между версиями

Материал из Wiki - Iphoster - the best ever hosting and support. 2005 - 2023
Перейти к:навигация, поиск
(Новая страница: «=== PHPMailer - как отключить проверку SSL через verify peer и verify peer name === Добавить в код скрипта $mai...»)
 
Строка 1: Строка 1:
 
=== PHPMailer - как отключить проверку SSL через verify peer и verify peer name ===
 
=== PHPMailer - как отключить проверку SSL через verify peer и verify peer name ===
 +
 +
При отправке писем ошибки
 +
2021-09-20 18:57:14 TLS error on connection from localhost [127.0.0.1] (SSL_accept): error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca
 +
либо такая ошибка в дебаг логе
 +
2021-09-21 19:02:41 Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed [/var/www/site.ru/tools/vendor/phpmailer/phpmailer/src/SMTP.php line 468]
 +
  
  
Строка 6: Строка 12:
 
     $mail->Port = 465;
 
     $mail->Port = 465;
 
     $mail->SMTPDebug = 4;
 
     $mail->SMTPDebug = 4;
     '''$mail->SMTPOptions = array(
+
     '''$mail->SMTPOptions = array('''
         'ssl' => array(
+
         ''''ssl' => array('''
             'verify_peer' => false,
+
             ''''verify_peer' => false,'''
             'verify_peer_name' => false,
+
             ''''verify_peer_name' => false,'''
             'allow_self_signed' => true
+
             ''''allow_self_signed' => true'''
         )
+
         ''')'''
     );'''
+
     ''');'''
  
  
 +
Опции
 +
verify_peer - требовать проверки используемого SSL-сертификата.
 +
verify_peer_name - требовать проверки имени узла.
 +
allow_self_signed  - разрешить самоподписные сертификаты.
  
  
 
*https://www.php.net/manual/ru/context.ssl.php#context.ssl.verify-peer
 
*https://www.php.net/manual/ru/context.ssl.php#context.ssl.verify-peer
 +
*https://www.php.net/manual/ru/migration56.openssl.php

Версия 14:30, 22 сентября 2021

PHPMailer - как отключить проверку SSL через verify peer и verify peer name

При отправке писем ошибки

2021-09-20 18:57:14 TLS error on connection from localhost [127.0.0.1] (SSL_accept): error:14094418:SSL routines:ssl3_read_bytes:tlsv1 alert unknown ca

либо такая ошибка в дебаг логе

2021-09-21 19:02:41 Connection failed. Error #2: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages:error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed [/var/www/site.ru/tools/vendor/phpmailer/phpmailer/src/SMTP.php line 468]


Добавить в код скрипта

   $mail->SMTPSecure = 'ssl';
   $mail->Port = 465;
   $mail->SMTPDebug = 4;
   $mail->SMTPOptions = array(
       'ssl' => array(
           'verify_peer' => false,
           'verify_peer_name' => false,
           'allow_self_signed' => true
       )
   );


Опции

verify_peer - требовать проверки используемого SSL-сертификата.
verify_peer_name - требовать проверки имени узла.
allow_self_signed  - разрешить самоподписные сертификаты.