Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah e-mel PHP saya dihantar ke Gmail gagal pengesahan, dan bagaimana saya boleh membetulkannya?

Mengapakah e-mel PHP saya dihantar ke Gmail gagal pengesahan, dan bagaimana saya boleh membetulkannya?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-04 10:51:33247semak imbas

Why is my PHP email sending to Gmail failing authentication, and how can I fix it?

Betulkan Kegagalan Pengesahan Semasa Menghantar E-mel melalui Pelayan SMTP GMail daripada PHP

Anda mungkin menghadapi ralat pengesahan berikut semasa cuba menghantar e-mel menggunakan skrip PHP anda:

authentication failure [SMTP: SMTP server does no support authentication (code: 250, response: mx.google.com at your service, [98.117.99.235] SIZE 35651584 8BITMIME STARTTLS ENHANCEDSTATUSCODES PIPELINING)]

Ralat ini biasanya berlaku apabila konfigurasi SMTP yang ditentukan ialah tidak betul atau tidak lengkap. Untuk menyelesaikan isu ini, sahkan konfigurasi anda dan laraskannya kepada yang berikut:

require_once "Mail.php";

$from = "Sandra Sender <[email&#160;protected]>";
$to = "Ramona Recipient <[email&#160;protected]>";
$subject = "Hi!";
$body = "Hi,\n\nHow are you?";

$host = "ssl://smtp.gmail.com";
$port = "465";
$username = "[email&#160;protected]";
$password = "testtest";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'port' => $port,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
 } else {
  echo("<p>Message successfully sent!</p>");
 }

Dengan menyatakan ssl:// dalam konfigurasi hos, anda mewujudkan sambungan SSL selamat ke pelayan SMTP GMail. Selain itu, anda mesti menentukan port yang betul untuk SSL, iaitu 465.

Pastikan nama pengguna dan kata laluan anda betul. Ini sepatutnya menjadi bukti kelayakan GMail anda.

Setelah anda melaraskan konfigurasi anda, skrip PHP anda sepatutnya boleh menghantar e-mel melalui pelayan SMTP GMail tanpa menghadapi ralat kegagalan pengesahan.

Atas ialah kandungan terperinci Mengapakah e-mel PHP saya dihantar ke Gmail gagal pengesahan, dan bagaimana saya boleh membetulkannya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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