Bu makalemizde web sitesine kullanıcı adı ve şifre ile üye olduğunuzu düşünelim. Çoğu zaman kayıtlı olduğumuz siteye giriş yaparken şifremizi unutabiliriz. Bu uygulamamızla; mail adresimizi ve kullanıcı adımızı girdiğimiz zaman mail adresimize şifremizi otomatik olarak göndereceğiz. Web sayfamızı Şekil 1 de görüldüğü gibi tasarlayalım.
Şekil 1
Şimdi gelelim sql veritabanımızı oluşturmaya.Veritabanımızın ismi uyeliste.mdf. Şekil2 de gösterildiği gibi liste adında tabloyu ve bu tablodaki sütunları oluşturun.
Şekil 2
Şekil 3 te görüldüğü gibi bilgiler girilmiş olsun.
Şekil 3
Şimdi gelelim kod kısmına. Web sayfanıza koyduğunuz button un click yordamına kodlarımızı
yazacağız. Ben bu örneği gmail mail adresine göre yaptım. Sizler istediğiniz gibi
farklı smtp hizmeti veren sunucuları kullanabilirsiniz.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net.Mail;
using System.Data.SqlClient;
using System.Net;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnGonder_Click(object sender, EventArgs e)
{
System.Data.SqlClient.SqlConnection baglan = new System.Data.SqlClient.SqlConnection("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\uyeliste.mdf;Integrated Security=True;User Instance=True");
SqlCommand cmd = new SqlCommand("Select * From liste Where mail=@mail and ad=@ad", baglan); //Veritabanı sorgumuz.
cmd.Parameters.Add("@mail", txtMail.Text); //Kişinin yazdığı mail adresini veritabanında olup olmadığını kontrol ediyoruz.
cmd.Parameters.Add("@ad", txtAd.Text); // Ayrıca girilen ismide mail adresi gibi kontrol ediyoruz.
baglan.Open();
SqlDataReader dr = cmd.ExecuteReader();
if (dr.Read()) //Girilen E-posta Adresi Mevcut ise şifresini mail göndereceğiz.
{
try
{
SmtpClient MailSender = new SmtpClient("smtp.gmail.com");
MailSender.Credentials = new NetworkCredential("sa.bahadir@gmail.com", "Bu kısma mail adresinizin şifresini girin ");
MailSender.Port = 25;
MailSender.Host = "smtp.gmail.com";
MailSender.EnableSsl = true;
MailAddress gonderen = new MailAddress("sa.bahadir@gmail.com", "Admin"); //Hangi Adres ile göndermek istiyorsak o adres ve ismini belirtiyoruz.
MailAddress ileti = new MailAddress(dr["mail"].ToString(), "Site Üyesi"); //Mail Gönderilecek Kişinin Mail Adresini Datareaderdan çağırıyoruz.
MailMessage mesaj = new MailMessage(gonderen,ileti);
mesaj.Subject = "Sayın: " + dr["ad"] + " Kullanıcı Şifreniz"; //Mailimizin Başlığı.
mesaj.Body = "http://www.bahadirsam.somee.com" + " Kullanıcı Adınız:" + dr["ad"] + " Şifreniz : " + dr["sifre"].ToString(); //Mailimizin konusu ve kullanıcının şifresini burada Datareaderdan alıyoruz.
MailSender.Send(mesaj);//Mail Başarıyla Gönderildi.
Response.Write("Şifreniz Gönderildi"); //Gönderdildiğini Belirten Mesajımız.
}
catch // Eğer Bir hata oluşursa gönderilmediğine dair bir uyarı.
{
Response.Write("Şifreniz Gönderilemedi. Lütfen Bir Süre Sonra Tekrar Deneyiniz.");
}
}
else //Girilen Mail Adresi Veritabanından Mevcut Değil ise Bu mesajı veriyoruz.
{
Response.Write("Girmiş Olduğunuz Email Adresi Bulunamadı.");
}
}
}
Kodlarımızı yazdık. Şekil 4 teki gibi bilgileri giriniz ve buttona tıklayınız.
Şekil 4
Şekil 5 te görüldüğü gibi otomatik mail adresimize geldi.
Şekil 5
İlgili siteden şifremiz Şekil 6 da olduğu gibi mail adresimize
gönderilmiş oldu.
Şekil 6
Web sayfamızın Default.aspx sayfası:
Şekil 7