İnsanların e-posta adresinin onaylanmasını ne kadar uzağa götürmeleri gerektiğini merak ediyorum. Alanım öncelikle web geliştirme, ancak bu her yerde geçerlidir.
Birkaç yaklaşım gördüm:
- basitçe "basit" bir hediye olup olmadığını kontrol etmek, ki ölü basit ama tabii ki o kadar güvenilir değil.
- standart e-posta formatları için daha karmaşık bir regex testi
- Bir tam regex karşı RFC 2822 - Bu sorun genellikle bir e-posta adresi geçerli olabileceğini ama muhtemelen kullanıcı ne anlama geldiğini değil
- DNS doğrulama
- SMTP doğrulama
Birçok insanın bildiği gibi (ancak çoğu kişi bilmez), e-posta adresleri çoğu insanın genellikle göz önünde bulundurmadığı birçok garip değişkenliğe sahip olabilir (bkz. RFC 2822 3.4.1 ), ancak Doğrulama: Sadece bir e-posta mesajının bir adrese gönderilebileceğini veya kullanıcının muhtemelen koymak istediği şeyin (başka türlü 'geçerli olan daha belirsiz olan durumların pek çoğunda bulunmadığını) garanti etmeye mi çalışıyorsun?' 'adres).
Düşündüğüm bir seçenek sadece daha ezoterik bir adrese sahip bir uyarı veriyor, ancak isteğin devam etmesine izin veriyor, ancak bu bir forma daha fazla karmaşıklık katıyor ve çoğu kullanıcının kafası karışabilir.
DNS doğrulama / SMTP doğrulama beyninde olmayanlara benziyor olsa da, DNS sunucusu / SMTP sunucusunun geçici olarak kapalı kaldığı ve bir kullanıcının bir yere kayıt yapamadığı ya da kullanıcının SMTP sunucusunun gereken özellikleri desteklemediği sorunları öngörüyorum.
Buradaki bazı deneyimli geliştiriciler bunu nasıl ele alabilir? Listede bulunduğumdan başka yaklaşımlar var mı?
Düzenleme: Tamamen unuttum, onay e-postası gönderdim! Bunu işaret ettiği için cevap verenlere teşekkür ederiz. Evet, bu oldukça kusursuz, ancak katılan herkes için ekstra güçlük gerektiriyor. Kullanıcının bir e-posta alması gerekir ve geliştiricinin geçerli olarak onaylanmadan önce kullanıcı verilerini hatırlaması gerekir.