Mengesahkan alamat e-mel adalah penting untuk memastikan ketepatan dan kebolehpercayaan data anda. Walaupun menggunakan ungkapan biasa mungkin kelihatan seperti pilihan yang berdaya maju, adalah penting untuk memahami batasannya.
Cabaran Pengesahan Alamat E-mel dengan Regex
Percubaan untuk mengesahkan alamat e-mel menggunakan ungkapan biasa selalu menghadapi cabaran kerana kerumitan sintaks alamat e-mel. Regex yang disediakan gagal mengambil kira pelbagai format e-mel yang sah, seperti yang mengandungi aksara unikod.
Keunggulan filter_var()
Kaedah pilihan untuk pengesahan alamat e-mel dalam PHP ialah fungsi filter_var(), yang menggunakan set peraturan pengesahan yang lebih mantap yang ditakrifkan oleh RFC 5322, 5321 dan 3696. Fungsi ini menyediakan cara yang boleh dipercayai dan cekap untuk memastikan alamat e-mel mematuhi sintaks standard.
Contoh 1: Menggunakan filter_var() untuk Pengesahan E-mel
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { // Invalid email address } else { // Valid email address }
Semakan Tambahan: Rekod MX Pengesahan
Walaupun filter_var() mengesahkan sintaks, ia tidak menjamin kewujudan alamat e-mel. Untuk menangani perkara ini, anda boleh melakukan semakan rekod MX menggunakan fungsi checkdnsrr().
Contoh 2: Mengesahkan Rekod MX
if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { // Invalid email address } else if (!checkdnsrr($domain, 'MX')) { // Domain does not define an MX record } else { // Valid email address with a valid MX record }
Melangkaui Sintaks dan MX Rekod
Walaupun pengesahan rekod MX dan sintaks adalah penting, adalah penting untuk ambil perhatian bahawa mereka masih tidak menjamin kewujudan alamat e-mel. Satu-satunya cara untuk mengesahkan secara muktamad adalah melalui penggunaan teknik pengesahan e-mel seperti e-mel pengesahan.
Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Alamat E-mel dengan Amanah dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!