Estaba usando PHPMailer para enviar un correo electrónico con SMTP. Esta vez utilicé PHP 5.6. Recibí el siguiente error.
Warning: stream_socket_enable_crypto():
Peer certificate CN='*.example1.com' did not match expected CN='mail.example2.com'
in /usr/share/php/libphp-phpmailer/class.smtp.php on line 344
Investigando esto me llevó a esta pregunta , que menciona los documentos de PHPMailer que dicen esto:
En un cambio de versiones anteriores, PHP 5.6 verifica los certificados en Conexiones SSL. Si la configuración SSL del servidor al que se está conectando no es correcto, aparecerá un error como este:
Tiene este trabajo alrededor sugerido:
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
Pero sigue diciendo
... esto no es recomendable: También puedes cambiar estos Configuraciones globales en tu php.ini, pero esa es una muy mala idea; PHP 5.6 hizo este cambio por muy buenas razones.
¿Cuáles son esas muy buenas razones?