Merhabalar
Site ziyaretçileri üye olurken e-mail adreslerinin gerçek olup olmadıklarının doğrulanması için doğrulama(aktivasyon) linki gönderirler.bu link tıklanınca üyelik aktif olmaktadır.Microsoft visual studio ile kodları kopyala/yapıştır komutuyla kullanabilirsiniz.İşte örnek kodlar
kayıt sayfası default.aspx.vb kodları
Imports System.Data
Imports System.Data.SqlClient
Imports System.Net.Mail
Partial Class _Default
    Inherits System.Web.UI.Page

    Dim baglanti As New SqlConnection

    Dim sorgu As New SqlCommand

    Dim kontrol As New SqlCommand

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'baglantimizi oluşturuyoruz

        baglanti.ConnectionString = ("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True")
        'baglantımızı açıyoruz
    End Sub
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        baglanti.Open()

        'aynı eposta adresli kayıtları önlemek için veritabanımızdan girilen eposta adresini kontrol ediyoruz

        kontrol = New SqlCommand("select * from uye_tablo where uye_mail=@uye_mail", baglanti)

        kontrol.Parameters.AddWithValue("uye_mail", TextBox1.Text)

        Dim dr As SqlDataReader

        dr = kontrol.ExecuteReader

        If dr.Read Then

            ' Eğer girilen eposta adresi veritabanında kayıtlı ise hata verdirtiyoruz.

            Label1.Text = "Kullanıcı adı sisteme kayıtlıdır, şifrenizi unuttuysanız şifre gönder sayfasına gidiniz."

        Else

            dr.Close()



            'Üye onayı için ilk başta 0 değerini atıyoruz

            Dim uye_onayli As Integer

            uye_onayli = 1

            'Basit bir şekilde 2 adet kod oluşturdum siz bunları istediğiniz gibi değiştirebilirsiniz

            '1. kayıt sırasındaki zamanı milisaniye olarak alıyor

            '2. Rastegele bir sayı oluşturuyor

            Dim uye_kod1, uye_kod2 As String

            uye_kod1 = System.DateTime.Now.Millisecond

            Dim rasgele As New Random

            Dim rndsayi As Integer = rasgele.Next(1100, 99999999)

            uye_kod2 = rndsayi

            Dim sorgu As New SqlCommand("insert into uye_tablo (uye_mail,uye_pass,uye_kod1,uye_kod2,uye_onayli) values (@uye_mail,@uye_pass," & uye_kod1 & "," & uye_kod2 & "," & uye_onayli & ")", baglanti)

            sorgu.Parameters.AddWithValue("@uye_mail", TextBox1.Text)

            sorgu.Parameters.AddWithValue("@uye_pass", TextBox2.Text)

            sorgu.ExecuteNonQuery()

            'üstteki kodlarla bilgilerimizi veritabanına kaydediyoruz alttaki kodlarda kayıt sırasındaki girilen eposta adresine mail atıyor

            Dim mail As New MailMessage()

            Dim client As New SmtpClient()

            mail.To.Add(TextBox1.Text)

            mail.From = New MailAddress("e-mail adresiniz", "e-mailde görünen ad")

            mail.Subject = "Mail ile üye kayıt aktivasyonu"

            mail.Body = "Üye kayıt işleminin tamamlanması için verilen linke tıklayınız uye_onayla.aspx?kd1=" + uye_kod1 + "&kod=" + uye_kod2

            Dim onlem As New Net.NetworkCredential("sadece kullanıcı adı", "şifreniz")

            client.Credentials = onlem

            client.EnableSsl = True

            client.Port = 587
            client.Host = "smtp.gmail.com"

            client.Send(mail)

            Label1.Text = "Kayıt Başarılı bir şekilde sonlandı."

                baglanti.Close()



        End If

    End Sub




    

End Class
uye onaylamayı sağlayan uye_onayla.aspx.vb kodları
Imports System.Data

Imports System.Data.SqlClient

Partial Class uye_onayla

    Inherits System.Web.UI.Page

    Dim baglanti As New SqlConnection

    Dim sorgu As New SqlCommand

    Dim guncelle As SqlCommand

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        'Quertstring ile gelen bilgilerimizi label-lara atıyoruz

        baglanti.ConnectionString = ("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True")

        baglanti.Open()

        Dim kd1, kod2 As Integer

        kd1 = Request.QueryString("kd1")

        kod2 = Request.QueryString("kod")

        Try
            guncelle = New SqlCommand(("update uye_tablo set uye_onayli=1 where ( uye_kod1=@kd1 and uye_kod2=@kod2)"), baglanti)

            guncelle.Parameters.AddWithValue("@kd1", kd1)

            guncelle.Parameters.AddWithValue("@kod2", kod2)

            guncelle.ExecuteNonQuery()

            Label3.Text = "başarıyla aktifleştirildi"
        Catch
            Label3.Text = "aktifleşme  başarısız"
        End Try


    End Sub



   

End Class
Basit uye giriş sayfası login.aspx.vb kodları
Imports System.Data.SqlClient
Partial Class login
    Inherits System.Web.UI.Page
    Dim baglanti As New SqlConnection
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

          Dim sorgu As New SqlCommand
        baglanti.ConnectionString = ("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True")
        Dim sonuc As Integer
        Dim sor As New SqlCommand("select count(*) from uye_tablo where uye_mail=@uye_mail and uye_pass=@pass ", baglanti)
        sor.Parameters.Add("@uye_mail", Data.SqlDbType.Variant).Value = TextBox1.Text
        sor.Parameters.Add("@pass", Data.SqlDbType.Variant).Value = TextBox2.Text

        baglanti.Open()
        sonuc = sor.ExecuteScalar
        Dim sor1 As New SqlCommand("select count(*) from uye_tablo where uye_onayli=@uye_onayli ", baglanti)
        sor1.Parameters.Add("@uye_onayli", Data.SqlDbType.Variant).Value = True
        Dim aktif As Boolean
        aktif = sor1.ExecuteScalar
        If sonuc = 1 And aktif = True Then
            'eger sonuc birse üye veritabanında var demektir gerekli yetkiyi verebiliriz.....
            Session("uye") = "onay"
            Session("uye") = Session("uye")
            Response.Redirect("ozel.aspx")
        ElseIf sonuc = 0 And aktif = False Then
            'üye degilsiniz.............................
            Label1.Text = "kullanıcı girişi yanlış"
        ElseIf sonuc = 1 And aktif = False Then
            Label1.Text = "hesap aktif değil"


        End If
        
    End Sub

End Class
Mesela örnek olarak üye girişi yapmadan ve e-posta aktif edilmeden giriş yapmayı bu örnek kodla sağlayabilirsiniz.
Partial Class ozel
 Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Session("uye") = "" Then
            Response.Redirect("login.aspx")
        End If
    End Sub
End Class

kodu kendinize göre uyarlayabilirsiniz.Güle güle kullanın.