Saya bertanya-tanya seberapa jauh orang harus mengambil validasi alamat email. Bidang saya terutama pengembangan web, tetapi ini berlaku di mana saja.
Saya telah melihat beberapa pendekatan:
- cukup memeriksa apakah ada "@" hadiah, yang mati sederhana tetapi tentu saja tidak dapat diandalkan.
- tes regex yang lebih kompleks untuk format email standar
- sebuah regex penuh terhadap RFC 2822 - masalah dengan hal ini adalah bahwa sering alamat e-mail mungkin berlaku tetapi mungkin tidak apa berarti pengguna
- Validasi DNS
- Validasi SMTP
Seperti yang mungkin diketahui banyak orang (tetapi banyak yang tidak), alamat email dapat memiliki banyak variasi aneh yang biasanya tidak dipertimbangkan oleh kebanyakan orang (lihat RFC 2822 3.4.1 ), tetapi Anda harus memikirkan tujuan dari validasi Anda: apakah Anda hanya mencoba untuk memastikan bahwa pesan email dapat dikirim ke alamat, atau bahwa itulah yang mungkin dimaksudkan pengguna untuk dimasukkan (yang tidak mungkin dalam banyak kasus yang lebih tidak jelas dari yang sebaliknya 'valid ' alamat).
Sebuah opsi yang saya pertimbangkan hanyalah memberikan peringatan dengan alamat yang lebih esoteris tetapi masih memungkinkan permintaan untuk melewatinya, tetapi ini menambah kerumitan pada formulir dan sebagian besar pengguna cenderung bingung.
Sementara validasi DNS / validasi SMTP tampak seperti bukan-otak, saya meramalkan masalah di mana server DNS / SMTP server untuk sementara turun dan pengguna tidak dapat mendaftar di suatu tempat, atau server SMTP pengguna tidak mendukung fitur yang diperlukan.
Bagaimana mungkin beberapa pengembang berpengalaman di sini menangani ini? Apakah ada pendekatan lain selain yang saya daftarkan?
Sunting: Saya benar-benar lupa yang paling jelas dari semuanya, mengirim email konfirmasi! Terima kasih kepada para penjawab karena menunjukkannya. Ya, yang satu ini sangat mudah, tetapi itu memang membutuhkan kerepotan tambahan dari semua orang yang terlibat. Pengguna harus mengambil beberapa email, dan pengembang perlu mengingat data pengguna sebelum mereka bahkan dikonfirmasi sebagai valid.