Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan Ralat \"Sijil Pengesahan Gagal\" Apabila Menggunakan PHPMailer dengan Sijil Ditandatangani Sendiri?

Bagaimana untuk Membetulkan Ralat \"Sijil Pengesahan Gagal\" Apabila Menggunakan PHPMailer dengan Sijil Ditandatangani Sendiri?

Susan Sarandon
Susan Sarandonasal
2024-10-26 10:56:30479semak imbas

How to Fix

Isu Pengesahan SSL PHPMailer: Pengesahan Sijil Gagal

Masalah:

Apabila cuba menghantar e-mel daripada pelayan mel dengan sijil yang ditandatangani sendiri, PHPMailer membuang ralat berikut:

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.

Penyelesaian:

Bermula dengan PHP 5.6, pengesahan sijil SSL mempunyai telah diperkenalkan. Untuk kembali kepada gelagat lama tanpa pengesahan, tetapkan sifat SMTPOptions dalam PHPMailer:

<code class="php">$mail->SMTPOptions = array(
    'ssl' => array(
        'verify_peer' => false,
        'verify_peer_name' => false,
        'allow_self_signed' => true
    )
);</code>

Nota:

Melumpuhkan pengesahan SSL mempunyai implikasi keselamatan. Tanpa pengesahan, pelakon berniat jahat boleh menyamar sebagai titik akhir yang dipercayai dan melakukan Serangan Man-in-the-Middle. Pertimbangkan risiko ini sebelum menggunakan penyelesaian ini.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \"Sijil Pengesahan Gagal\" Apabila Menggunakan PHPMailer dengan Sijil Ditandatangani Sendiri?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn