Kullanıcı aktivasyon e-posta gönderin

3 Cevap php

How would I do to check if a email actially exists? Cant understand how sites do to send mails with a unique link that the users clicks to validate that he is the owner of email =/

Activationkey denilen ve aktif bir 2 yeni sütunlar yapmak ve bazı rasgele dize saklamak, activationkey bir e-posta göndermek ve bu aktivasyon linki maç = 1 aktive kullanıcıları güncellemek

register.php?a=activate&key=9cdfb439c7876e703e307864c9167a15

Daha iyi bir fikrin?

3 Cevap

Ben genellikle kimliği içeren bir bağlantı ve aktivasyon anahtarını gönderir. Onlar benim aktivasyon senaryoyu ziyaret ettiğinizde ben bir eşleşme bulmak eğer, ben bunları etkinleştirmek.

Zaman kayıt, belki üst / alt durumda alfanümerik karakterden 32 karakter oluşturmak ve aktivasyon tuşu olarak ayarlamak gerekir. Bu noktada, 'aktif' olarak adlandırılan bir alan oluşturabilir ya da bir etkinleştirme anahtarı varsa kullanıcı aktif değildir varsayabiliriz.

uid |        email       | key
------------------------------------------------------------
001 | j.smith@mysite.com | e09141f3f5a17fed6222fc0279b9afdf
------------------------------------------------------------
002 | mary.tyler@abc.com | 
------------------------------------------------------------

Kullanıcı etkinleştirme komut eriştiğinde, sadece sağlanan kimliği ile ve bir eşleşme bulunursa, dosya üzerinde kullanıcı kaydından anahtarını silmek (ya da boolean 'aktif' alanını güncelleştirmek) birlikte sağlanan anahtar kontrol ve kapıları açmak .

Sağlanan e-posta adresi yoksa, hiçbir kaybı. Siz rutin hareketsizlik bir ay sonra tuşları ile tüm satırları silebilirsiniz.

Etkinleştirme anahtarları için bir alternatif o içinde kullanıcı günlükleri (ve tabii, o tercih ne şifresini değiştirmek mümkün olmalıdır) aktif olup olmadığını, sadece, kullanıcı e-posta oluşturulan parola göndermektir.

Bir e-posta aslında programlama olup olmadığını denetlemek için kolay bir yolu yok. Bazı (ileti sunucusu ping, vb) yol ama her MailServer kurulumu ile çalışmak için kanıtlanmış hiçbiri vardır. Eğer anlatıldığı gibi bir bağlantı yoluyla hesabını etkinleştirmek için kullanıcı zorlayarak bunu yapmak için en iyi yoldur. Ayrıca, zaman (tablo, zaman damgası başka bir sütuna gerektirecek olan) belli bir süre sonra un-aktif üyeleri kaldırır bir cron-iş gibi komut tekrarlayan çeşit isteyebilirsiniz.

Bir kullanıcı işaretleri kadar ama onların hesabını aktive eder ve e-posta siler, ve bir kimliği (sadece bir örnek) olarak kendi e-posta kullanırken asla eğer, onlar aktivasyonu tamamlamak mümkün olmayacak çünkü yararlıdır. Alternatif olarak, size giriş için çalışırsanız, sadece tekrar adrese aktivasyon e-postasını yeniden gönderebilirsiniz.

Sadece (yanıtla, gelen, vb) tüm başlıklarını belirterek böylece e-posta spam olarak işaretlendi almaz e-posta emin olun.