Problème de vérification SSL PHPMailer : échec de la vérification du certificat
Problème :
Lors de la tentative d'envoi e-mails provenant d'un serveur de messagerie avec un certificat auto-signé, PHPMailer renvoie l'erreur suivante :
PHP Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in class.smtp.php on line 327.
Solution :
À partir de PHP 5.6, la vérification du certificat SSL a été introduit. Pour revenir à l'ancien comportement sans vérification, définissez la propriété SMTPOptions dans PHPMailer :
<code class="php">$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );</code>
Remarque :
La désactivation de la vérification SSL a des implications en matière de sécurité. Sans vérification, les acteurs malveillants peuvent usurper l’identité de points finaux de confiance et lancer des attaques de type Man-in-the-Middle. Considérez ces risques avant d’utiliser cette solution.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!