Bagaimana untuk Menyelesaikan Masa Tamat SMTP Connect() dengan PHPMailer?

Mary-Kate Olsen
Lepaskan: 2024-10-21 17:50:03
asal
976 orang telah melayarinya

How to Resolve SMTP Connect() Timeouts with PHPMailer?

Ralat SMTP Connect(): Menyelesaikan Masalah Tamat Masa Sambungan

Apabila cuba menghantar e-mel menggunakan PHPMailer, pengguna mungkin menghadapi ralat berikut: "SMTP -> RALAT: Gagal menyambung ke pelayan: Sambungan tamat masa (110)SMTP Connect() gagal dihantar. Ralat Pengirim: SMTP Connect() gagal." Ralat ini selalunya berpunca daripada kesukaran sambungan antara pelayan dan skrip PHP.

Setelah meneliti kod PHP yang disediakan, didapati bahawa baris "$mail->IsSMTP();" telah hadir. Menurut dokumentasi untuk PHPMailer, kaedah ini tidak digunakan lagi dan tidak diperlukan lagi. Mengalih keluar atau mengulas baris ini menyelesaikan isu tamat masa sambungan:

<code class="php">// Remove or comment out the following line:
// $mail->IsSMTP();</code>
Salin selepas log masuk

Dengan mengalih keluar atau mengulas kaedah "IsSMTP()", sambungan ke pelayan SMTP boleh diwujudkan dengan jayanya. Kod penuh di bawah menunjukkan konfigurasi PHPMailer yang diperbetulkan:

<code class="php">require 'class.phpmailer.php'; // path to the PHPMailer class
require 'class.smtp.php';

$mail = new PHPMailer();

$mail->Mailer = "smtp";
$mail->SMTPDebug = 2;
$mail->Host = "ssl://smtp.gmail.com";
$mail->Port = 587;
$mail->SMTPAuth = true; // turn on SMTP authentication
$mail->Username = "[email protected]"; // SMTP username
$mail->Password = "mypasswword"; // SMTP password 
$Mail->Priority = 1;

$mail->AddAddress("[email protected]","Name");
$mail->SetFrom($visitor_email, $name);
$mail->AddReplyTo($visitor_email,$name);

$mail->Subject  = "Message from  Contact form";
$mail->Body     = $user_message;
$mail->WordWrap = 50;  

if(!$mail->Send()) {
    echo 'Message was not sent.';
    echo 'Mailer error: ' . $mail->ErrorInfo;
} else {
    echo 'Message has been sent.';
}</code>
Salin selepas log masuk

Dengan melaksanakan perubahan ini, ralat "SMTP Connect() failed" harus diselesaikan, membenarkan e-mel dihantar dengan jayanya melalui PHPMailer menggunakan pengesahan SMTP.

Atas ialah kandungan terperinci Bagaimana untuk Menyelesaikan Masa Tamat SMTP Connect() dengan PHPMailer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!