Tidak Dapat Menghantar E-mel Menggunakan Pelayan SMTP Gmail Melalui PHPMailer: SMTP AUTH Diperlukan pada Port 587
Apabila cuba menghantar e-mel melalui SMTP Gmail pelayan menggunakan PHPMailer tetapi menghadapi ralat yang menyatakan "SMTP AUTH diperlukan untuk penyerahan mesej pada port 587," beberapa langkah boleh diambil untuk menyelesaikan isu tersebut.
Sampel kod yang disediakan untuk PHP Mailer hendaklah dilaraskan seperti berikut:
$mail = new PHPMailer(); $mail->IsSMTP(); $mail->SMTPDebug = 1; // Enables debugging $mail->SMTPAuth = true; $mail->SMTPSecure = 'ssl'; // Secure transfer using SSL $mail->Host = "smtp.gmail.com"; $mail->Port = 465; // SMTP port $mail->IsHTML(true); $mail->Username = "[email protected]"; $mail->Password = "password"; $mail->SetFrom("[email protected]"); $mail->Subject = "Test"; $mail->Body = "hello"; $mail->AddAddress("[email protected]"); if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message has been sent"; }
Adalah perlu untuk memastikan SSL didayakan menggunakan $mail- >SMTPSecure = 'ssl'. Jika ini tidak menyelesaikan isu, pertimbangkan untuk menukar kepada TLS menggunakan $mail->SMTPSecure = 'tls'.
Ia juga penting untuk mengesahkan bahawa pengesahan dua langkah dilumpuhkan untuk akaun yang digunakan untuk menghantar e-mel, kerana ia boleh mengganggu proses.
Akhir sekali, adalah penting untuk ambil perhatian bahawa sesetengah pelayan SMTP tidak menyokong sambungan SSL atau TLS dan mungkin memerlukan konfigurasi alternatif.
Atas ialah kandungan terperinci Mengapa Saya Mendapat 'SMTP AUTH Diperlukan' Apabila Menghantar E-mel melalui Pelayan SMTP Gmail dengan PHPMailer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!