2010-12-13 9 views
3

私は電子メールの検証の手順を尋ねたがっています。これまではregister.aspxフォームの情報を格納するクラスがあり、ユーザーに電子メールを送信しますが、ユーザーにguidを送信する必要があります。電子メールの検証について - どのような方法

また、登録データを保存するメンバーシップクラスはセッションに保存されます。ユーザーセッションがタイムアウトすると、メンバーシップクラスが何もなくなり、ユーザーが再度登録するように求められるため、これは良い考えです。セッションタイムアウトWebページ、これは良い方法ですか?

しかし、ユーザーにguidを送信し、guidを使用してユーザーデータをデータベースに格納し、そのユーザーのguidをデータベース内の対応するユーザーGUIDでチェックするとどうなりますか?

また、私は電子メールが有効であることを確認する正規表現を持っていますが、それはまだ良いと私は正常にそれをテストhavent、そこに無料の電子メールの検証APIはありますか?

私はASP.NET VBを使用しています。ここで

答えて

3

は、私がどうなるのかです:

1)ユーザーの電子メール

2を求める)有効な場合は正規表現

3)を使用して電子メールを検証し、タイムスタンプ(DateTime.Now)を作成し、ユーザーのIDと必要なその他の有用な情報を追加します。適切なデリミタを使用することができます。

4)データを暗号化し、暗号化されたユーザにトークンやメール

5)ユーザーがクリックは、おそらく必要なタイムアウトがある(タイムスタンプをチェックし、情報を復号化)し、使用者のIDでURLを構築そのデータをデータベースから取得します。

+2

は、私は、電子メールの検証のための正規表現を使用していないだろう -

彼らは自由のための千毎月の要求を提供しています。間違ってしまうのは簡単すぎるため、RegExの著者は電子メールアドレスがサポートしているすべてのことを考慮していません。より信頼性の高いオプションは、実際にユーザーの電子メールサーバーに接続し、アドレスの検証を依頼することです。 –

+0

Remy Lebeau、 "hotmail"のようなユーザーの電子メールサーバーに接続しようとしましたが、エラーが発生しました "接続されたパーティーが一定期間後に正しく応答しなかったか、 64.4.20.174:25 "と答えることはできませんでした。ファイアウォールやウィルスソフトウェアをブロックするようです。仕事場はありますか? – redoc01

+0

データを暗号化して後でデコードする方法はありますか? – kseen

1

GUIDを含むデータをデータベースに保存します。レコードのステータスを「非アクティブ」に設定します。 GUIDを含むリンクバックで電子メールを送信します。リンクがクリックされたら、登録レコードを「アクティブ」に設定します。

正規表現を使用して電子メールアドレスを効果的に検証することはできません。理由を説明するためにこのサイトを検索してください。

0

In。このような電子メールアドレスを検証する必要があります。詳細については、this questionを参照してください。

MailAddress address = new MailAddress(input) 

電子メールアドレスが無効な場合、これは例外をスローします。

2

これは既に受け入れられている回答に加えています。電子メールの検証はRegexの構文のみをチェックすることに限定されません。

私は使用している構文、タイプミス、SMTP & MX-Records(電子メールアドレスの実際の存在を確認する)、無料または使い捨ての電子メールなどの多くの要素をチェックしています。mailboxlayer.com

関連する問題