cari

Rumah  >  Soal Jawab  >  teks badan

PHPMailer: Ralat SMTP: Tidak dapat menyambung ke hos SMTP

Saya telah menggunakan PHPMailer pada beberapa projek, tetapi kini saya tersekat. Ia memberi saya ralat:

Ralat SMTP: Tidak dapat menyambung ke hos SMTP.

Saya cuba menghantar e-mel daripada Thunderbird dan ia berjaya! Tetapi bukan melalui PHPMailer... Berikut adalah tetapan untuk Thunderbird:

Nama Pelayan: mail.exampleserver.com

Port: 587

Nama pengguna: user@exampleserver.com

Pengesahan Keselamatan: Tidak LS

Pengesahan Keselamatan: Tidak

Saya membandingkannya dengan pelayan dari projek terakhir saya menggunakan PHPMailer dan ia adalah:

Nama Pelayan: mail.exampleserver2.com

Port: 465

Nama pengguna: user@exampleserver2.com

: Keselamatan Secure Authentication:

LS

Kod php saya ialah:

$mail = new PHPMailer();
 $mail->IsSMTP(); // send via SMTP
 $mail->Host = SMTP_HOST; // SMTP servers
 $mail->Port = SMTP_PORT; // SMTP servers
 $mail->SMTPAuth = true; // turn on SMTP authentication
 $mail->Username = SMTP_USER; // SMTP username
 $mail->Password = SMTP_PASSWORD; // SMTP password
 $mail->From = MAIL_SYSTEM;
 $mail->FromName = MAIL_SYSTEM_NAME;
 $mail->AddAddress($aSecuredGetRequest['email']);
 $mail->IsHTML(true); // send as HTML

Di mana silap saya?

P粉990008428P粉990008428398 hari yang lalu742

membalas semua(1)saya akan balas

  • P粉352408038

    P粉3524080382023-10-13 14:23:02

    Memandangkan soalan ini sering timbul dalam google, saya ingin berkongsi di sini penyelesaian saya untuk situasi di mana PHP baru sahaja dinaik taraf kepada versi 5.6 (yang mempunyai tingkah laku SSL yang lebih ketat).

    Wiki PHPMailer mempunyai bahagian tentang ini:

    https://github.com/PHPMailer/ PHPMailer/wiki/Troubleshooting#php-56-certificate-verification-failure

    Penyelesaian yang dicadangkan termasuk kod berikut:

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

    Ini sepatutnya berfungsi dengan PHPMailer 5.2.10 (dan ke atas).

    NOTA: Nampaknya, seperti yang dicadangkan dalam wiki ini, ini sepatutnya menjadi penyelesaian sementara!

    balas
    0
  • Batalbalas