Résoudre les problèmes liés aux échecs de vérification du certificat SSL dans PHPMailer
Les utilisateurs de PHPMailer peuvent rencontrer des erreurs « SSL3_GET_SERVER_CERTIFICATE : échec de la vérification du certificat » lors de l'envoi d'e-mails à partir de serveurs avec eux-mêmes -certificats signés. Ce problème est dû à la vérification des certificats SSL introduite dans PHP 5.6.
Cause première :
Par défaut, PHPMailer vérifie les certificats SSL pour garantir leur authenticité. Lorsqu'un certificat auto-signé est rencontré, la vérification échoue en raison de l'absence d'une autorité de certification (autorité de certification) appropriée.
Solution :
Pour résoudre ce problème, vous avez deux options :
1. Corriger la configuration SSL :
Si possible, obtenez un certificat SSL valide signé par une autorité de certification de confiance et installez-le correctement sur votre serveur de messagerie. Cela garantira une vérification réussie du certificat.
2. Désactiver la vérification du certificat SSL (non recommandé) :
Avertissement : La désactivation de la vérification du certificat a de sérieuses implications en matière de sécurité. Cela vous expose au risque d'attaques de l'homme du milieu.
Pour désactiver la vérification du certificat, définissez les options PHPMailer suivantes :
<code class="php">$mail->SMTPOptions = array( 'ssl' => array( 'verify_peer' => false, 'verify_peer_name' => false, 'allow_self_signed' => true ) );</code>
Modifier la bibliothèque PHPMailer pour désactiver la vérification est fortement déconseillé car il se brisera lors des mises à niveau.
Considérations de sécurité :
La désactivation de la vérification du certificat SSL ne doit être considérée que comme une solution de contournement temporaire, et non comme une solution à long terme. Il est crucial de sécuriser votre configuration SSL pour éviter d'éventuelles failles de sécurité.
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!