- 12 Eyl 2010
- 655
- 0
C# Mail gönderme özelliğini kullanarak veritabanın dan kullanıcı ismine göre seçilen bir şifrenin kullanıcı mail adresine gönderilmesi ..
1.Adım : Bu adımda ilk önce "using System.Net.Mail;" kod parçasını sayfamızın en ütünde bulunan alanda programa dahil ediyoruz.
2.Adım : Daha sonra form üzerine 1 adet Label ,1 adet TextBox ve 1 adet Button ekliyoruz.
3.Adım : TextBox ismini "kadi" olarak değiştiriyoruz . Veritabanında ise buna karşılık gelen isim "user_kadi" 'dır.
4.Adım: Bu adımda ise string türünde 3 adet değişken tanımlıyoruz. (gonderadi,gondersifre,gondermail)
5.Adım :
private **** button3_Click(object sender, EventArgs e)
{
string gonderadi, gondersifre, gondermail;
baglan.Open();
OleDbCommand command = new OleDbCommand("SELECT * FROM user_table WHERE user_kadi='" + kadii.Text + "'", baglan);
OleDbDataReader oku = null;
oku = command.ExecuteReader();
if (oku.Read())
{ gonderadi = oku["user_adisoyad"].ToString();
gondersifre = oku["user_ksifre"].ToString();
gondermail = oku["mail"].ToString();
baglan.Close();
MailMessage ePosta = new MailMessage();
ePosta.From = new MailAddress("Mail adresiniz");
ePosta.To.Add(gondermail);
ePosta.Subject = "Şifre Hatırlatma";
ePosta.Body = "Sayın ," + gonderadi + "nŞifreniz: " + gondersifre;
SmtpClient smtp = new SmtpClient();
smtp.Credentials = new System.Net.NetworkCredential("Kendi mail adresimizi yazıyoruz", "Konu alannını belirliyoruz");
smtp.Port = 587;
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
object userState = ePosta;
try
{
smtp.SendAsync(ePosta, (object)ePosta);
}
catch (SmtpException ex)
{
MessageBox.Show(ex.Message, "Mail Gönderme Hatasi");
}
finally
{
baglan.Close();
panel1.Visible = false;
MessageBox.Show("Mail Başarıyla Gönderildi", "Bilgi");
}
}
else
{
MessageBox.Show("Kullanıcı Adı Yanlış..", "Uyarı");
}
}
Sonuç : Kısaca yaptığımız işlemi anlatacak olursak . Şifresini unutan kullanıcı kullanıcı adını kadi isimli "TextBox " kutumuza kullanıcı adımızı yazıyor. Daha sonra gönder butonuna bastığımız zaman veritabanın da böyle bir kullanıcı varsa önceden kayıtlı olan mail adresine o andaki şifresini gönderiyoruz.
1.Adım : Bu adımda ilk önce "using System.Net.Mail;" kod parçasını sayfamızın en ütünde bulunan alanda programa dahil ediyoruz.
2.Adım : Daha sonra form üzerine 1 adet Label ,1 adet TextBox ve 1 adet Button ekliyoruz.
3.Adım : TextBox ismini "kadi" olarak değiştiriyoruz . Veritabanında ise buna karşılık gelen isim "user_kadi" 'dır.
4.Adım: Bu adımda ise string türünde 3 adet değişken tanımlıyoruz. (gonderadi,gondersifre,gondermail)
5.Adım :
private **** button3_Click(object sender, EventArgs e)
{
string gonderadi, gondersifre, gondermail;
baglan.Open();
OleDbCommand command = new OleDbCommand("SELECT * FROM user_table WHERE user_kadi='" + kadii.Text + "'", baglan);
OleDbDataReader oku = null;
oku = command.ExecuteReader();
if (oku.Read())
{ gonderadi = oku["user_adisoyad"].ToString();
gondersifre = oku["user_ksifre"].ToString();
gondermail = oku["mail"].ToString();
baglan.Close();
MailMessage ePosta = new MailMessage();
ePosta.From = new MailAddress("Mail adresiniz");
ePosta.To.Add(gondermail);
ePosta.Subject = "Şifre Hatırlatma";
ePosta.Body = "Sayın ," + gonderadi + "nŞifreniz: " + gondersifre;
SmtpClient smtp = new SmtpClient();
smtp.Credentials = new System.Net.NetworkCredential("Kendi mail adresimizi yazıyoruz", "Konu alannını belirliyoruz");
smtp.Port = 587;
smtp.Host = "smtp.gmail.com";
smtp.EnableSsl = true;
object userState = ePosta;
try
{
smtp.SendAsync(ePosta, (object)ePosta);
}
catch (SmtpException ex)
{
MessageBox.Show(ex.Message, "Mail Gönderme Hatasi");
}
finally
{
baglan.Close();
panel1.Visible = false;
MessageBox.Show("Mail Başarıyla Gönderildi", "Bilgi");
}
}
else
{
MessageBox.Show("Kullanıcı Adı Yanlış..", "Uyarı");
}
}
Sonuç : Kısaca yaptığımız işlemi anlatacak olursak . Şifresini unutan kullanıcı kullanıcı adını kadi isimli "TextBox " kutumuza kullanıcı adımızı yazıyor. Daha sonra gönder butonuna bastığımız zaman veritabanın da böyle bir kullanıcı varsa önceden kayıtlı olan mail adresine o andaki şifresini gönderiyoruz.