Rumah > pembangunan bahagian belakang > tutorial php > Mengapa Saya Mendapat Kegagalan Pengesahan SMTP Gmail dalam Kod PHP Saya?

Mengapa Saya Mendapat Kegagalan Pengesahan SMTP Gmail dalam Kod PHP Saya?

Linda Hamilton
Lepaskan: 2024-12-31 19:09:09
asal
261 orang telah melayarinya

Why Am I Getting Gmail SMTP Authentication Failures in My PHP Code?

Tidak Dapat Menghantar E-mel melalui Pelayan SMTP GMail: Kegagalan Pengesahan

Percubaan untuk menghantar e-mel melalui pelayan SMTP GMail dari halaman PHP sering menyebabkan dalam ralat kegagalan pengesahan, menyebabkan pengguna kecewa. Kod PHP yang disediakan amat terdedah kepada isu ini, kerana ia kelihatan tidak mempunyai tetapan konfigurasi yang penting.

Untuk menyelesaikan masalah ini, konfigurasi PHP yang betul adalah penting. Kod tersebut hendaklah mengandungi parameter berikut:

  • Penyulitan SSL: Gmail SMTP memerlukan sambungan selamat, jadi parameter 'hos' hendaklah ditetapkan kepada 'ssl://smtp. gmail.com'. Ini membolehkan penyulitan SSL, memastikan penghantaran data selamat.
  • Konfigurasi Port: Parameter 'port' harus ditetapkan kepada '465', kerana ia adalah port yang ditetapkan untuk SMTP melalui SSL.
  • Pustaka Mel PHP dikemas kini: Pastikan anda menggunakan versi terkini Perpustakaan Mel PHP (PEAR Mail) untuk mendapat manfaat daripada ciri yang dipertingkatkan dan pembetulan pepijat.

Berikut ialah kod PHP yang dikemas kini yang menyelesaikan isu kegagalan pengesahan dengan memasukkan tetapan penting ini:

// Pear Mail Library
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>');
}
?>
Salin selepas log masuk

Dengan melaksanakan pengubahsuaian ini, skrip PHP anda kini sepatutnya boleh menghantar e-mel melalui pelayan SMTP GMail tanpa mengalami kegagalan pengesahan.

Atas ialah kandungan terperinci Mengapa Saya Mendapat Kegagalan Pengesahan SMTP Gmail dalam Kod PHP Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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