Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Mengapa PHPMailer Melemparkan Ralat \"Peer Certificate Mismatch\" Di Bawah PHP 5.6?

Mengapa PHPMailer Melemparkan Ralat \"Peer Certificate Mismatch\" Di Bawah PHP 5.6?

Susan Sarandon
Susan Sarandonasal
2024-10-27 06:23:29492semak imbas

 Why Does PHPMailer Throw a

Amaran PHPMailer: Sijil Rakan Tidak Padan

Pengguna PHPMailer menghadapi ralat "Amaran PHP: stream_socket_enable_crypto(): Sijil rakan sebaya tidak sepadan dengan jangkaan" di bawah PHP 5.6 mungkin menghadapi masalah dengan pengesahan sijil.

Latar Belakang:

PHP 5.6 memperkenalkan pengesahan sijil yang lebih ketat untuk sambungan SSL. Akibatnya, jika konfigurasi SSL pelayan jauh tidak betul, PHPMailer akan gagal menyulitkan sambungan.

Simptom:

  • Ralat kegagalan sambungan : PHPMailer memaparkan "Tidak dapat menyambung ke hos SMTP."
  • Ralat pengelogan: Log menunjukkan amaran ketidakpadanan sijil: "Sijil rakan sebaya CN=*.mail.dreamhost.com ...' tidak sepadan dengan jangkaan CN=mx1.sub4.homie.mail.dreamhost.com...'".
  • Arahan QUIT serta-merta: PHPMailer boleh mengeluarkan arahan QUIT selepas mencuba STARTTLS, menunjukkan kegagalan penyulitan.

Penyelesaian:

Penyelesaian yang disyorkan ialah membetulkan tetapan sijil atau pengesahan pada pelayan jauh. Ini mungkin melibatkan penggantian sijil yang tidak sah dengan yang sah atau konfigurasi semula tetapan SSL.

Alternatif:

Jika penghantaran segera diperlukan dan ketidakpadanan sijil tidak kritikal, anda boleh melumpuhkan pengesahan sijil dalam PHPMailer menggunakan pilihan berikut:

$mail->SMTPOptions = array (
    'ssl' => array(
        'verify_peer'  => false,
        'verify_peer_name'  => false,
        'allow_self_signed' => true));

Nota: Melumpuhkan pengesahan sijil tidak disyorkan kerana ia menjejaskan keselamatan dengan kemungkinan menerima sijil tidak sah.

Atas ialah kandungan terperinci Mengapa PHPMailer Melemparkan Ralat \"Peer Certificate Mismatch\" Di Bawah PHP 5.6?. 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