2010-12-13 17 views
3

Je voulais juste demander la procédure de vérification par courriel, quelle est la meilleure méthode. Jusqu'à présent, j'ai une classe qui stocke les informations du formulaire register.aspx, puis j'envoie un e-mail à l'utilisateur, mais que dois-je l'envoyer, dois-je envoyer un guide à l'utilisateur?À propos de la vérification par courriel - Quelles méthodes

De plus, ma classe d'appartenance qui stocke les données du registre est stockée dans une session, est-ce une bonne idée, car la session de l'utilisateur ne sera plus valide et l'utilisateur sera invité à s'inscrire à nouveau. La page web de Timeout de session, est-ce une bonne méthode?

Mais que se passe-t-il si je envoie un GUID à l'utilisateur puis stocke les données de l'utilisateur dans la base de données avec le guid puis vérifie le GUID avec le GUID correspondant dans la base de données?

Aussi j'ai une expression régulière qui vérifie que l'e-mail est valide, ce n'est pas encore bon et je n'ai pas testé correctement, est-ce qu'il y a une API de vérification gratuite par email?

J'utilise ASP.NET VB.

Répondre

3

Voici ce que je ferais:

1) Demander l'email de l'utilisateur

2) Valider l'e-mail à l'aide Regex

3) Si elle est valide, créez un Timestamp (DateTime.Now), ajouter l'identifiant de l'utilisateur et toute autre information utile dont j'ai besoin. Nous pouvons utiliser des délimiteurs appropriés.

4) Chiffrer les données et construire une URL avec le jeton crypté et le courrier électronique à l'utilisateur

5) Lorsque l'utilisateur clique, décrypter les informations, vérifier l'horodatage (peut-être il y a un délai d'attente nécessaire) et utiliser les identifiants de l'utilisateur pour obtenir ses données de la base de données.

+2

Je ne voudrais pas utiliser une expression régulière pour la validation email. Trop facile de se tromper, trop d'auteurs RegEx ne tiennent pas compte de tout le soutien des adresses e-mail.L'option la plus fiable consiste à se connecter au serveur de messagerie de l'utilisateur et à lui demander de valider l'adresse. –

+0

Remy Lebeau, j'ai essayé de me connecter au serveur d'email comme "hotmail", mais j'ai une erreur "Une tentative de connexion a échoué parce que la partie connectée n'a pas répondu correctement après une période de temps a échoué à répondre 64.4.20.174:25 ", semble être son bloquer le pare-feu ou un logiciel anti-virus. Y a-t-il un travail? – redoc01

+0

Comment puis-je chiffrer des données de telle sorte que je puisse les décoder par la suite? – kseen

1

Enregistrez les données dans la base de données, y compris le GUID. Définissez l'état de l'enregistrement sur "inactif". Envoyez l'e-mail avec un lien qui inclut le GUID. Lorsque vous cliquez sur le lien, définissez l'enregistrement d'enregistrement sur "actif". Seuls les enregistrements "actifs" peuvent se connecter.

Vous ne pouvez pas valider efficacement une adresse e-mail avec une regexp - recherchez ce site sur le site pour des explications.

0

Dans .Net, vous devez valider les adresses e-mail comme ceci. Voir this question pour plus de détails.

MailAddress address = new MailAddress(input) 

Cela déclenche une exception si l'adresse électronique n'est pas valide.

2

Ceci s'ajoute à la réponse déjà acceptée - je ne limiterais pas la validation de l'e-mail à la vérification de la syntaxe Regex uniquement.

Il y a un free email verification API Je me sers qui vérifie un certain nombre de facteurs, y compris la syntaxe, des fautes de frappe, SMTP & MX-Records (qui vérifie l'existence réelle de l'adresse e-mail), si son un e-mail gratuit ou jetable, etc. .

Ils offrent un millier de demandes mensuelles gratuitement - mailboxlayer.com