Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Membetulkan Kegagalan Pengesahan Sijil SSL PHPMailer dengan Sijil Ditandatangani Sendiri?

Bagaimana untuk Membetulkan Kegagalan Pengesahan Sijil SSL PHPMailer dengan Sijil Ditandatangani Sendiri?

DDD
DDDasal
2024-10-28 10:01:01473semak imbas

 How to Fix PHPMailer SSL Certificate Verification Failure with Self-Signed Certificates?

Membaiki Kegagalan Pengesahan Sijil SSL PHPMailer

Apabila cuba menghantar e-mel menggunakan PHPMailer dan pelayan mel dengan sijil yang ditandatangani sendiri, pengguna boleh menghadapi ralat "SSL3_GET_SERVER_CERTIFICATE: pengesahan sijil gagal." Isu ini timbul disebabkan oleh pengesahan sijil SSL yang diperkenalkan dalam PHP 5.6.

Untuk menyelesaikan masalah, seseorang harus mempertimbangkan pendekatan berikut:

Pulihkan Gelagat Lama:

Laraskan sifat SMTPOptions untuk melumpuhkan pengesahan sijil:

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

Implikasi Keselamatan:

Melumpuhkan pengesahan SSL melemahkan keselamatan kerana ia membenarkan penyerang menyamar sebagai entiti yang sah. Oleh itu, adalah penting untuk menilai risiko dan memastikan bahawa langkah yang sesuai diambil untuk melindungi komunikasi anda.

Penyelesaian Alternatif:

Jika melumpuhkan pengesahan sijil bukan pilihan, pertimbangkan perkara berikut:

  • Pasang sijil SSL yang sah pada pelayan mel.
  • Gunakan perpustakaan mel lain atau rujuk dokumentasi tentang pengendalian sijil lanjutan dalam PHPMailer.

Ingat bahawa menyunting pustaka PHPMailer tidak disyorkan, kerana ia mungkin rosak semasa kemas kini.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Kegagalan Pengesahan Sijil SSL 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