Rumah >pembangunan bahagian belakang >tutorial php >Mengapakah e-mel PHP saya dihantar melalui pelayan SMTP Gmail gagal, dan bagaimana saya boleh membetulkannya menggunakan perpustakaan Pear Mail?

Mengapakah e-mel PHP saya dihantar melalui pelayan SMTP Gmail gagal, dan bagaimana saya boleh membetulkannya menggunakan perpustakaan Pear Mail?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-21 09:51:10862semak imbas

Why is my PHP email sent via Gmail's SMTP server failing, and how can I fix it using the Pear Mail library?

Menghantar E-mel dengan Pelayan SMTP GMail daripada PHP

Isu:
Apabila cuba menghantar e-mel menggunakan Pelayan SMTP GMail dari halaman PHP, ralat berlaku, menunjukkan kegagalan pengesahan dalam SMTP.

Penyelesaian:

Kod yang disediakan menggunakan Perpustakaan Pear Mail, yang memerlukan pelarasan untuk SMTP GMail:

  1. Tetapkan Protokol kepada SSL: Ubah suai baris hos untuk memasukkan 'ssl://' sebelum ini 'smtp.gmail.com'.
  2. Gunakan Port 465 untuk SSL: Tukar nombor port kepada '465'.
  3. Pastikan Nama Pengguna dan Kata Laluan Betul: Gunakan alamat e-mel penuh sebagai nama pengguna dan yang berkaitan kata laluan.

Kod Kemas Kini:

require_once "Mail.php";

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

$headers = array(
    'From' => $from,
    'To' => $to,
    'Subject' => $subject
);

$smtp = Mail::factory('smtp', array(
        'host' => 'ssl://smtp.gmail.com',
        'port' => '465',
        'auth' => true,
        'username' => '[email&#160;protected]',
        'password' => 'passwordxxx'
    ));

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

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

Dengan memasukkan perubahan ini, kod kini sepatutnya berjaya menghantar e-mel melalui pelayan SMTP GMail dari halaman PHP.

Atas ialah kandungan terperinci Mengapakah e-mel PHP saya dihantar melalui pelayan SMTP Gmail gagal, dan bagaimana saya boleh membetulkannya menggunakan perpustakaan Pear Mail?. 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