Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Membetulkan Ralat \'SMTP Connect() Failed\' Semasa Menghantar E-mel melalui Gmail?
Kegagalan Sambungan SMTP: Menyelesaikan Ralat "SMTP Connect() failed"
Dalam cuba menghantar e-mel menggunakan Gmail, anda mungkin menghadapi ralat mesej menyatakan "SMTP -> RALAT: Gagal menyambung ke pelayan: Sambungan tamat masa (110)nSMTP Connect() gagal. Mesej tidak dihantar.nRalat Mail: SMTP Connect() gagal." Ralat ini menunjukkan masalah dengan mewujudkan sambungan ke pelayan SMTP.
Untuk menyelesaikan isu ini, anda perlu mengubah suai kod PHP yang bertanggungjawab untuk menghantar e-mel. Secara khususnya, alih keluar atau ulas baris:
<code class="php">$mail->IsSMTP();</code>
Kaedah IsSMTP() tidak digunakan dan tidak boleh digunakan. Dengan mengalih keluar atau mengulas baris ini, kod akan menggunakan SMTP secara automatik untuk menghantar e-mel, menghapuskan isu sambungan dan membenarkan penghantaran e-mel yang berjaya.
Berikut ialah kod yang dikemas kini dengan pengubahsuaian:
<code class="php">require 'class.phpmailer.php'; // path to the PHPMailer class require 'class.smtp.php'; $mail = new PHPMailer(); $mail->Mailer = "smtp"; $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>
Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat \'SMTP Connect() Failed\' Semasa Menghantar E-mel melalui Gmail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!