Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Tidak Boleh Menghantar E-mel melalui Pelayan SMTP Gmail dengan PHPMailer?

Mengapa Saya Tidak Boleh Menghantar E-mel melalui Pelayan SMTP Gmail dengan PHPMailer?

Patricia Arquette
Lepaskan: 2024-12-18 07:53:10
asal
813 orang telah melayarinya

Why Can't I Send Emails via Gmail's SMTP Server with PHPMailer?

Tidak Dapat Menghantar E-mel melalui Pelayan SMTP Gmail dengan PHPMailer: Menyelesaikan Isu SMTP AUTH

Apabila cuba menggunakan pelayan SMTP Gmail untuk menghantar e-mel menggunakan PHPMailer, anda mungkin menghadapi ralat, "SMTP AUTH diperlukan untuk penyerahan mesej pada port 587." Ralat ini menunjukkan keperluan untuk pengesahan sebelum menghantar e-mel. Begini cara untuk menyelesaikan isu ini:

Untuk membetulkannya, pengubahsuaian berikut diperlukan:

$mail = new PHPMailer(); // New PHPMailer object
$mail->IsSMTP(); // Enable SMTP protocol
$mail->SMTPDebug = 1; // For debugging (log errors and messages)
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->SMTPSecure = 'ssl'; // Utilize Secure Socket Layer (SSL) for secure transmission (required for Gmail)
$mail->Host = "smtp.gmail.com";
$mail->Port = 465; // Or 587 depending on server settings
$mail->IsHTML(true); // Allow HTML-formatted emails
$mail->Username = "johndoe@gmail.com"; // Your Gmail username
$mail->Password = "mysecretpassword"; // Your Gmail password
$mail->SetFrom("sender@gmail.com"); // Set sender address
$mail->Subject = "Test Email";
$mail->Body = "Hello from PHPMailer!";
$mail->AddAddress("recipient@gmail.com"); // Add recipient address

if (!$mail->Send()) {
    echo "Mailer Error: " . $mail->ErrorInfo;
} else {
    echo "Email sent successfully!";
}
Salin selepas log masuk

Pertimbangan Utama:

  • Pastikan anda telah melumpuhkan pengesahan dua langkah untuk Gmail yang berkaitan akaun.
  • Sahkan bahawa pelayan SMTP anda menyokong sambungan SSL atau TLS.
  • Jika isu berterusan, cuba laraskan tetapan "SMTPSecure" kepada 'tls' dan bukannya 'ssl'.

Atas ialah kandungan terperinci Mengapa Saya Tidak Boleh Menghantar E-mel melalui Pelayan SMTP Gmail dengan PHPMailer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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