Mail Adresine Şifre Gönderme
Bu örneğimizde mail adresine şifre göndereceğiz. TextBox a girilen mail adresi ve gizli cevabın doğru olması durumunda; girilen mail adresine üyenin şifresini göndereceğiz.
İnternette bir çok smtp uygulaması görmüşsünüzdür. Bunların çoğu çalışmıyor.
Şimdi biz gmail hesabından yararlanarak, gerçek zamanlı çalışan bir uygulama yapacağız.
Formunuza;
using System.Web.Mail;
using System.Net.Mail;
ekleyin.
Aşağıdaki şekilleri muhakkak inceleyin. Bahadır
Şekil 1
Şekil 2
Şekil 3
Şekil 4
Bir önceki örnekte şifreyi ekrana yazdırmıştık. Formunuza 2 adet TextBox 2 adet Label ve 1 adet Button ekleyin.
Girmiş olduğumuz bize ait gmail hesabından Smtp metoduyla kişilere mail göndereceğiz.
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using System.Web.Mail;
using System.Net.Mail;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnGonder_Click(object sender, EventArgs e)
{
if (txtMail.Text == "")
{
Response.Write("Mail adresi girmediniz!..");
return;
}
else if(txtCevap.Text == "")
{
Response.Write("Mail adresi girmediniz!..");
return;
}
System.Data.OleDb.OleDbConnection baglan = new System.Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.Oledb.4.0; Data Source=" + Server.MapPath("App_Data\\uye.mdb"));
System.Data.OleDb.OleDbCommand sorgu = new System.Data.OleDb.OleDbCommand("Select * from uyeler Where mail=@mail and cevap=@cevap ", baglan);
//tek sorgu için
//sorgu.Parameters.Add("@mail",txtMail.Text);
//birden fazla sorgu için;
OleDbParameter a1 = new OleDbParameter("@mail", txtMail.Text);
OleDbParameter a2 = new OleDbParameter("@cevap", txtCevap.Text);
sorgu.Parameters.AddRange(new System.Data.OleDb.OleDbParameter[] { a1, a2 });
baglan.Open();
OleDbDataReader dr = sorgu.ExecuteReader();
if (dr.Read())
{
try
{
MailAddress gonderen = new MailAddress("mailadresinizigirin@gmail.com","Bahadır ŞAHİN"); // Gönderen bilgilerini MailAddress sınıfı ile oluşturuyoruz. Mail ve isim i argüman yolluyoruz.
MailAddress alan = new MailAddress(dr["mail"].ToString(), "Üyelik Bilgisi"); // Gönderende olduğu gibi aliciyi da
System.Net.Mail.MailMessage msg = new System.Net.Mail.MailMessage(gonderen, alan);
msg.Subject = "Bahadır ŞAHİN ile Programlama Sitesi Üyelik Şifreniz";
msg.Body = "Bahadır ŞAHİN ile Programlama Sitesi Giriş Şifreniz:" + dr["sifre"].ToString() + Environment.NewLine + "Gizli Soru Cevabınız:" + dr["cevap"].ToString();
System.Net.Mail.SmtpClient client = new System.Net.Mail.SmtpClient();
client.Credentials = new System.Net.NetworkCredential("mailadresinizigirin@gmail.com", "mail adresinizin şifresini girin");
client.Port = 25;
client.Host = "smtp.gmail.com";
client.EnableSsl = true;
client.Send(msg);
Response.Write("Mailiniz Başarı İle Gönderildi");
}
catch
{
Response.Write("< br > Şifreniz gönderilemedi. Mail adresi veya Gizli cevabınız yanlış. Tekrar deneyiniz.");
}
}
else
{
Response.Write("< br > Girmiş olduğunuz Email adresi bulunamadı." + Environment.NewLine + "Mail adresi veya Gizli cevabınız yanlış ");
}
}
}
//Bir sonraki makalede görüşmek üzere. Bahadır