Asp.Net Üyelik Sistemi Ders 2 – Şifremi Unuttum Sayfası

Önceki dersimizde Asp.Net ile hazırladığımız üyelik sistemine giriş ve üye olma sayfalarını hazırlamıştık konuya buradan bakabilirsiniz… Bu dersimizde üye eğer şifresini veya kullanıcı adını unutursa ne yapacak , şifresini ve kullanıcı adını nasıl öğrenecek o konu ile ilgili sayfamızı hazırlayacağız.
İlk olarak kullanıcının şifresini sıfırlaması için Üye adı veya mail adresini gireceği formu tasarlamamız gerekiyor
aspnetuyeliksistemi5

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
        <title>Asp.Net Örnekleri, Asp.Net Dersleri, Asp.Net Uygulamları, www.AspNetOrnekleri.com </title>
</head>
<body>
 <form id="form1" runat="server">
         <asp:Label ID="lblTitle" runat="server" Font-Size="X-Large" 
             Text="Şifremi Unuttum Sayfası"></asp:Label>
         <br />
         
         <asp:Panel ID="pnlsifregonder" runat="server">
             <asp:Label ID="lbldurum" runat="server"></asp:Label>
            <table border="1" cellpadding="2" cellspacing="2" width="378">
                 <tr>
                     <td width="152">
                         <asp:Label ID="lbluyeadi" runat="server" Text="Üye Adı"></asp:Label>
                     </td>
                     <td width="206">
                         <asp:TextBox ID="txtuyeadi" runat="server" Width="108px"></asp:TextBox>
                     </td>
                 </tr>
                 <tr>
                   <td colspan="2"><div align="center">
                       <asp:Label ID="lblOr" runat="server" Text="Veya"></asp:Label>
                   </div></td>
                 </tr>
                 <tr>
                     <td>
                         <asp:Label ID="lblEmail" runat="server" Text="Email :"></asp:Label>
                     </td>
                     <td>
                         <asp:TextBox ID="txtEmail" runat="server" Width="188px"></asp:TextBox>
                     </td>
                 </tr>
            </table>

             <br />

             <asp:Button ID="btnsifregonder" runat="server" Text="Bilgilerimi Gönder" style="height: 26px" 
                 Width="120px" onclick="btnsifregonder_Click" />
         </asp:Panel>
         
         <asp:Panel ID="pnlsonuc" runat="server">
            <asp:Label ID="lblmesaj" runat="server"></asp:Label>
            <br />
            <br />
            <asp:HyperLink ID="hplHome" runat="server"  NavigateUrl="~/uyegiris.aspx">Üye Girişi
            </asp:HyperLink>
         </asp:Panel>

    </form>
</body>
</html>
<!-- Asp.Net Örnekleri, Asp.Net Dersleri, Asp.Net Uygulamları http://www.AspNetOrnekleri.com -->

Kullanıcı üye adını veya mail adresini girdi “Bilgilerimi Gönder” butonuna basdı şimdi ne olacak.. ilk olarak girilen bilgilerin sistemde bir kullanıcıya ait olup olmadığı kontrol edilecek yani o isim veya mail adresi ile kayıtlı bir üye var mı, daha sonra üye bulunursa eğer kullanıcı adı ve şifresinin mail adresine postalayacağız..
Mail işlemleri için projemize
using System.Net.Mail;
using System.Net;
using System.Web.Configuration;
using System.Data;
using System.Data.OleDb;
namespace lerini ekliyoruz daha sonra koldarımız aşağıda

protected void Page_Load(object sender, EventArgs e)
        {
            this.pnlsifregonder.Visible = true;
            this.pnlsonuc.Visible = false;
        }
        protected void btnsifregonder_Click(object sender, EventArgs e)
        {
            OleDbConnection db_baglanti;
            OleDbCommand db_komut;
            OleDbDataReader dtReader = null;
            db_baglanti = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0; DATA Source=" + Server.MapPath("App_Data/uye.accdb"));
            db_baglanti.Open();
            string sorgu = "SELECT * FROM bilgiler WHERE uyeadi=@uyeadi or mail=@mail";
            db_komut = new OleDbCommand(sorgu, db_baglanti);
            db_komut.Parameters.Add("@uyeadi", OleDbType.VarChar).Value = txtuyeadi.Text;
            db_komut.Parameters.Add("@mail", OleDbType.VarChar).Value = txtEmail.Text;
            dtReader = db_komut.ExecuteReader();
            if (!dtReader.HasRows)
            {
                this.lbldurum.ForeColor = System.Drawing.Color.Red;
                this.lbldurum.Text = "Üye Adı Veya Mail Adresi Bulunamadı...!";
            }
            else
            {
                dtReader.Read();
                SmtpClient Kaynak = new SmtpClient();
                Kaynak.Credentials = new System.Net.NetworkCredential("gonderen@mailadresi", "sifresi");
                Kaynak.Host = "gonderensunucu adresi";
                Kaynak.Port = 587;
                MailAddress Gonderen = new MailAddress("gonderen@mailadresi", "Asp.Net Örnekleri Sitesi");
                MailAddress Giden = new MailAddress(dtReader["mail"].ToString(), dtReader["ad"].ToString());
                MailMessage Mesaj = new MailMessage(Gonderen, Giden);
                Mesaj.From = Giden;
                Mesaj.To.Add("gonderen@mailadresi");
                Mesaj.Subject = "Kullanıcı Adı ve Şifreniz.";
                Mesaj.Body = "AspNetornekleri.com sitesi üyelik bilgileriniz.</br> Kullanıcı Adınız..:" + dtReader["uyeadi"].ToString() + "</br> Şifreniz=" + dtReader["sifre"].ToString();
                Mesaj.IsBodyHtml = true;
                Kaynak.Send(Mesaj);
                this.lblmesaj.Text = "Şifreniz ve bilgileriniz (" + dtReader["mail"].ToString() + ") adresine gönderilmiştir...";
                this.pnlsifregonder.Visible = false;
                this.pnlsonuc.Visible = true;
            }
            dtReader.Close();
            db_baglanti.Close();
            db_baglanti = null;
        }

kodlarımızda yer alan
Kaynak.Credentials = new System.Net.NetworkCredential(“gonderen@mailadresi“, “sifresi“);
Kaynak.Host = “gonderensunucu adresi“;
Kaynak.Port = 587;
MailAddress Gonderen = new MailAddress(“gonderen@mailadresi“, “Asp.Net Örnekleri Sitesi”);
MailAddress Giden = new MailAddress(dtReader[“mail”].ToString(), dtReader[“ad”].ToString());
MailMessage Mesaj = new MailMessage(Gonderen, Giden);
Mesaj.From = Giden;
Mesaj.To.Add(“gonderen@mailadresi“);
bölümlerini kendi mail sunucunuzua göre yapılandırırsanız problemsiz çalışacaktır.
aspnetuyeliksistemi6
Asp.Net Üyelik Sistemi Ders 1 – Üye Giriş ve Üye Olma
Asp.Net Üyelik Sistemi Ders 2 – Şifremi Unuttum Sayfası
Asp.Net Üyelik Sistemi Ders 3 – Üye Profil Sayfası ve Profil Güncelleme