Rumah >pembangunan bahagian belakang >tutorial php >Mengapa PHPMailer Saya Tidak Boleh Bersambung ke Hos SMTP?

Mengapa PHPMailer Saya Tidak Boleh Bersambung ke Hos SMTP?

DDD
DDDasal
2024-12-13 12:56:15655semak imbas

Why Can't My PHPMailer Connect to the SMTP Host?

Cara Menyelesaikan "Ralat SMTP PHPMailer: Tidak dapat menyambung ke hos SMTP"

PHPMailer, perpustakaan PHP yang digunakan secara meluas untuk menghantar e-mel, kadang-kadang menemui mesej ralat "Ralat SMTP: Tidak dapat menyambung ke hos SMTP." Ralat ini biasanya berlaku apabila PHPMailer tidak dapat mewujudkan sambungan dengan pelayan SMTP yang ditentukan dalam tetapan hos dan port.

Untuk menyelesaikan masalah ini, adalah penting untuk membandingkan tetapan SMTP yang digunakan oleh PHPMailer dengan yang digunakan oleh pelanggan e-mel yang terkenal seperti Thunderbird. Dalam kes ini, tetapan daripada Thunderbird ialah:

  • Nama pelayan: mail.exampleserver.com
  • Port: 587
  • Nama pengguna: [email protected]
  • Pengesahan Selamat: Tidak
  • Keselamatan Sambungan: STARTTLS

Seterusnya, pastikan kod PHP dikonfigurasikan dengan betul untuk tetapan SMTP. Contoh kod yang diberikan kelihatan betul, tetapi pastikan anda mengesahkan perkara berikut:

  • Hos: Tetapkan ini kepada "mail.exampleserver.com" atau alamat pelayan SMTP yang diberikan oleh pembekal e-mel anda.
  • Port: Tetapkan ini kepada 587.
  • SMTPauth: Tetapkan ini kepada benar untuk mendayakan SMTP pengesahan.
  • Nama pengguna: Tetapkan ini pada alamat e-mel anda (cth., [email protected]).
  • Kata Laluan: Tetapkan ini pada kata laluan yang dikaitkan dengan alamat e-mel anda.

Jika tetapan SMTP betul dan isu itu berterusan, pertimbangkan perkara berikut penyelesaian:

Mengemas kini Versi PHP untuk Pensijilan SSL

Jika anda baru-baru ini meningkatkan PHP kepada versi 5.6, tingkah laku SSL yang lebih ketat mungkin telah dilaksanakan. Dokumentasi PHPMailer mencadangkan penyelesaian:

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

Nota: Penyelesaian ini hanyalah pembetulan sementara dan harus digantikan dengan pembetulan yang betul seperti menggantikan sijil yang tidak sah atau ditandatangani sendiri dengan yang sah .

Atas ialah kandungan terperinci Mengapa PHPMailer Saya Tidak Boleh Bersambung ke Hos SMTP?. 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