PHPMailer génère un avertissement : stream_socket_enable_crypto() : incompatibilité de certificat homologue
Les mesures de sécurité améliorées mises en œuvre dans PHP 5.6 ont eu un impact sur l'utilisation de PHPMailer. Lorsqu'ils tentent d'envoyer des messages à certains domaines, tels que ceux hébergés par Dreamhost, les utilisateurs peuvent rencontrer une erreur : "Impossible de se connecter à l'hôte SMTP."
Une enquête plus approfondie révèle un problème sous-jacent avec la validation du certificat. PHPMailer enregistre "Avertissement PHP : stream_socket_enable_crypto() : le certificat homologue CN=*.mail.dreamhost.com' ne correspond pas au CN=mx1.sub4.homie.mail.dreamhost.com' attendu."
Pour résoudre Face à ce problème, il est crucial de comprendre que la vérification des certificats n’est pas facultative et que l’ignorer compromet la sécurité. La bonne solution, comme indiqué dans la documentation PHPMailer, consiste à remplacer le certificat invalide ou mal configuré par un certificat valide.
Si la validation du certificat reste non négociable mais que la livraison du message est toujours nécessaire, il est possible de contourner la vérification temporairement. Ceci peut être réalisé en définissant les options SMTP suivantes :
$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );
Cependant, cette approche doit être utilisée avec prudence et n'est recommandée qu'à titre de mesure temporaire jusqu'à ce que la configuration appropriée du certificat puisse être résolue.
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!