Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Menyelesaikan Masa Tamat SMTP Connect() dengan 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>
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>
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!