Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel dalam PHP Tanpa Menghantar E-mel?

Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel dalam PHP Tanpa Menghantar E-mel?

Patricia Arquette
Patricia Arquetteasal
2024-12-16 00:00:34312semak imbas

How Can I Verify Email Addresses in PHP Without Sending Emails?

Mengesahkan Alamat E-mel tanpa Menghantar E-mel

Dengan kemunculan penapisan spam dan pengesahan senarai e-mel, pembangun sering memerlukan cara untuk mengesahkan alamat e-mel tanpa menghantar e-mel. PHP menyediakan penyelesaian menggunakan SMTP.

Pengesahan SMTP

SMTP (Simple Mail Transfer Protocol) digunakan untuk menghantar e-mel. Sokongan PHP untuk SMTP membenarkan pengesahan e-mel dalam dua cara:

1. Perintah VRFY:

Arahan VRFY menanyakan pelayan untuk mengesahkan sama ada penerima e-mel wujud. Jika pelayan membalas dengan 2.0.0 DSN (Pemberitahuan Status Penghantaran), alamat e-mel adalah sah.

Contoh:

$socket = fsockopen('server', 25);
fwrite($socket, "VRFY user\r\n");
$response = fgets($socket);

2. RCPT TO Command:

Arahan RCPT TO cuba menghantar e-mel. Jika penerima tidak wujud, pelayan akan bertindak balas dengan DSN 5.1.1.

Contoh:

$socket = fsockopen('server', 25);
fwrite($socket, "MAIL FROM:<sender>\r\n");
fwrite($socket, "RCPT TO:<user@domain>\r\n");
$response = fgets($socket);

Had

  • Tidak semua pelayan SMTP menyokong arahan VRFY.
  • Sesetengah pelayan mungkin secara senyap buang permintaan RCPT KEPADA.
  • Teknik penyenaraian kelabu boleh mengganggu pengesahan e-mel.

Pendekatan Alternatif

Walaupun pengehadan pengesahan SMTP, a kaedah yang lebih dipercayai ialah menggunakan ungkapan biasa untuk menapis alamat yang tidak sah dan kemudian menghantar e-mel dengan pautan pengesahan. Ini mengesahkan alamat e-mel pengguna dan menghalang ralat tipografi.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel dalam PHP Tanpa Menghantar E-mel?. 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