2012-01-06 10 views
0

この私の加工方法は、メール確認asp.net

 Sub emailConfirm() 
    Dim email As String = txtMail.Text 
    Dim name As String = txtPrenom.Text + txtNom.Text 

    Dim mail As MailMessage = New MailMessage() 
    'mail.To.Add("[email protected]") 
    mail.To.Add(email) 
    mail.From = New MailAddress("[email protected]") 
    mail.Subject = "Email using Gmail" 

    Dim Body As String = "Hi " + name + ", this mail is to confirm your registration" + "Click on the link to confirm please" + " Link(check note) " 
    mail.Body = Body 

    mail.IsBodyHtml = True 
    Dim smtp As SmtpClient = New SmtpClient() 
    smtp.Host = "smtp.gmail.com" 
    smtp.Port = 587 
    smtp.Credentials = New System.Net.NetworkCredential("[email protected]", "12345") 
    smtp.EnableSsl = True 
    smtp.Send(mail) 


End Sub 

ノートを電子メールを送信するには:私はlogin.aspxの中で一意の識別子をリンク一意の識別子が含まれている送信し、検証したい

Iドン「Tは、これがVb.net

に 01です...私はネット上で面白いものを発見した...ときに、この操作を行うに

を知っています

私は後で

感謝のご支援するためにセキュリティを追加します!

+1

単なるリンクにもあります。すべてのリンクがあなたのサイトにユーザーを送信することができます。あなたのサイトはどのように確認を処理しますか?たぶんあなたのログインページにリンクし、最初の成功したログインを確認として扱うでしょうか?タイム・センシティブなキーを保管しておき(指定した時間内に確認したい場合)、問合せ文字列のキーを含む確認ページへのリンクを送信することがありますか? – David

+1

サイドノート:電子メールにパスワードを含めることはできません。あなたはパスワードを持ってはいけません。パスワードのハッシュバージョンを持っていて、保存されたハッシュと比較するためにログイン時にハッシュパスワードを設定する必要があります。決して、決して、パスワードをプレーンテキストで保存することはありません。どこでも。これまで – David

答えて

2

まあ、最初のオフは、メール自体にユーザー名とパスワードを入れないでください。それは少しばかりです。

第二に、ほとんどのサイトは現在、次の操作を行います。

  1. ユーザーがユーザーに送信されたアカウント
  2. メールを作成します。電子メールのリンクには、ユーザ名とパスワードではなく、固有の識別子が含まれています。
  3. ユーザーがリンクをクリックします。この時点で、ページは一意のIDが有効かどうかをテストします。そうであれば、あなたのアカウントを確認していただきありがとうございます。その後、ログインフォームが表示されます。
  4. ユーザーは自分のログイン資格情報を入力します。

メールは実際のユーザー名/ PW情報を送信しなかったことに注意してください。

+0

感謝のが、どのように2.と3. – FrankSharp

+2

@FrankSharpを行うには:ユーザレコードを作成したら、あなたはまた、データベースに格納する(どちらか、そのレコードまたは関連レコードの一部として)一意のIDを作成したいです。このIDは、電子メール内のリンクにクエリ文字列パラメータとして含まれます。ユーザーが確認ページやログインページにアクセスし、そのIDがクエリ文字列にある場合は、データベースに格納されているIDと比較します。見つかった場合は、アカウントが確認されます。見つからない場合は、適切なエラーにリダイレクトします。 – David

+0

ダビデもいいよ。 – NotMe