C# Şifremi Unuttum Maili Yollama

 C# Şifremi Unuttum Maili Yollama
Okunuyor C# Şifremi Unuttum Maili Yollama

Selamun Aleyküm arkadaşlar c# şifremi unuttum maili yollama konusunu göstereceğim.Her konuda olduğu gibi bunda da birçok yöntem var.Ben kendi izlediğim yöntemi göstereceğim.Bu konuyu işlememin sebebi ise c# dersleri grubunda bir arkadaşımızın sorusu olmuş olması her zaman dediğim gibi elimden geldiğince sordunuz soruların cevapları hakkında blog yazmaya çalışacağım.

C# Şifremi Unuttum Nasıl Yapılır ?

Şimdi adım adım proje üzerinde göstermeye geldi öncelikle örnek projemin şifreyi unuttum penceresini göstereceğim.

textbox1 den tc nosu istiyoruz textbox2 dende mail adresini bunları veritabanındaki bilgilerle karşılaştırıp eğer doğruysa mail adresine bilgileri yollacağız.Bunun için projemize eklememiz gereken kütüphaneler var.

using System.Net.Mail; //Gerekli olan kütüphanemiz bu.
using System.Data.SqlClient; // benim gibi sql veritabanı işlemi yapacaksanız bunuda eklemelisiniz

Sırada kodlama kısmımız var olabildiğince sade şekilde göstermek istiyorum açıklama satırlarıyla birlikte.Önce mail gönderme fonksiyonunu hazırlıyoruz bu fonksiyona eklememiz gereken şifre ve mail adresini fonksiyonu çağırırken vereceğiz.

public bool Gonder(string konu, string icerik)
        {
            MailMessage ePosta = new MailMessage();
            ePosta.From = new MailAddress("mailadresiniz@gmail.com");//buraya kendi gmail hesabınız
            //
            ePosta.To.Add(textBox1.Text);//bura şifre unutanın maili textboxdan çekdiniz.
            ;
         
            ePosta.Subject = konu; //butonda veri tabanı çekdikden sonra aldımız değer konu değeri
            //
            ePosta.Body = icerik;  // buda şifremiz
            //
            SmtpClient smtp = new SmtpClient();
            //
            smtp.Credentials = new System.Net.NetworkCredential("mailadresiniz@gmail.com", "mailşifreniz");
//kendi gmail hesabiniz var şifresi
            smtp.Port = 587;
            smtp.Host = "smtp.gmail.com";
            smtp.EnableSsl = true;
            object userState = ePosta;
            bool kontrol = true;
            try
            {
                smtp.SendAsync(ePosta, (object)ePosta);
            }
            catch (SmtpException ex)
            {
                kontrol = false;
                System.Windows.Forms.MessageBox.Show(ex.Message, "Mail Gönderme Hatasi");
            }
            return kontrol;

        }

Sırada bunu kullandığımız kısım tabi direk şifreyi istediği için yollayamayız önce verdiği bilgiler doğru mu diye veritabanından kontrol etmeliyiz.Yolla adındaki butonumuza çift tıklayıp içine girdik.

 private void Yolla_Click(object sender, EventArgs e)
        {
            if (baglanti.State == ConnectionState.Closed) //eğer bağlantı kapalıysa
            {
                baglanti.Open(); //bağlantıyı aç
            }

            SqlCommand com = new SqlCommand("Select * from kullanici where tc_no='" + textBox2.Text.ToString() +
                "'and email='" + textBox1.Text.ToString() + "'", baglanti);
            //burada veritabanina kodlayarak yazdımız şifrelerin kodlarını karşılaştırdık
            SqlDataReader oku = com.ExecuteReader();
            if (oku.Read())
            {
                //burada verdiği tc ve mail doğruysa gireceği için şifreyi veritabanından çekip gönder fonksiyonunu kullanarak göndereceğiz
                
                sifre = oku["sifre"].ToString();
//veritabanından çekdik            
    MessageBox.Show("Girmiş Oldunuz Bilgiler Uyuşuyor Şifreniz Mail adresinize yollanıyor");
                Gonder("Unutmuş Olduğunuz Şifreniz Ektedir", textBox2.Text);
//gönder paremetresi ile içeriğe 2 string değer yolladık biri mesajımız öbürü şifresi
                baglanti.Close();
            }
            else
            {
                MessageBox.Show("Bilgileriniz Uyuşmadı");
            }
            baglanti.Close();
            }

Evet arkadaşlar C# Şifremi Unuttum mesajını işlemlerden sonra başarılı şekilde mail adresine şifre yolladı.

hatirlat Şifremi

Bu kadar yapamadığınız takıldığınız yada eksik anlattığım düzeltmem gereken bir yer olursa yorum olarak yazmanız yeterlidir.Makale faydalı bulduysanız paylaşarak bana destek olabilirsiniz.

 

Yapılan Yorumlar
  • Avatar for Samet KARAASLAN Samet KARAASLAN dedi ki:

    Hocam Merhaba Size 2 Sorum Olacak Soru Soracağım alan bulamadığım için size buradan soruyorum kusuruma bakmayın eğer vaktiniz olurda cevaplandırırsanız sevinirim bu sorulara cevap arıyorum uzun süredir ama yardımcı olan olmadı.

    Amaç :

    Bir Test Programı hazırlayacağım. Test içeriği resimlerden oluşacak ve resimler üzerinden işaretleme yaparak sorulara cevap verilecek.

    1- Soru :

    Hocam Şöyle anlatayım. Sınav Ekranı olacak form da 1 adet picturebox var bu picturebox’in imagesine bir resim ekliyorum.Bu resim içindeki bir nesnenin tamamının alanını öğrenmek istiyorum. Örneğin picturebox ‘ in imagesi bir manzara resmi olsun manzara resminin bir alanında bir kedi olsun ben bu manzara resmi içindeki kedinin kuyruğunada mouse ile tıklasam patisinede tıklasam kafasınada tıklasam vs. bu alanın kedinin bulunduğu alan olduğunu messagebox ile öğrenmek istiyorum. yani resimdeki kedi üzerine tıkladığımda kediye tıkladınız diye mesaj almak istiyorum.Resim üzerinde kediden farklı bir alana tıklarsam herhangi bir uyarı vermesini istemiyorum.

    2- Soru :

    C# da Form üzerinde bir adet picturebox var (pictureboxın imagesi plus işareti (+)işareti) ben mouse ile form üzerinde tıkladığım bir alana bu + işaretinin gelmesini istiyorum. Yani mouse ile tıklanılan alanın koordinatına bu + işaretinin gelmesini istiyorum ve resim dışında bir alana tıklarsam + işareti bu alana çıkmasın sadece pictureboxun alanı içinde istenilen yere gelsin bunu nasıl yapabilirim.

    Hocam sorduğum iki soru ile ilgili bir örnek verebilirseniz ve bana samet_karaaslan_e@hotmail.com adresimden mail atarsanız çok sevinirim. Teşekkürederim.

    • Avatar for Ramazan Şerif Ramazan Şerif dedi ki:

      samet direk şu kodu kullan diyemiyeceğim.Belirli algoritmalar hazırlanılması lazım.Faceden eklersin ramazan şerif akbuz bide öyle konuşuruz

  • Avatar for emirgndem emirgndem dedi ki:

    hocam merhaba şu noktayı anlamayadım, sifre = oku[“sifre”].ToString(); yardımcı olabilirseniz çok sevinirim iyi çalışmalar

    • Avatar for Ramazan Şerif Ramazan Şerif dedi ki:

      burada program içerisinde oluşturdum sifre adındaki değişkene veritabanımızın “sifre” column yer alan tc si belirtilen kişinin şifresini çekiyoruz.Yani diyoruzki
      adım 1 : bana tcsi textbox1 maili textbox2 deki değişkenler olan adamı getir.
      öyle bi adam varsa getiriyor .
      yoksa çıkıyor.
      eğer getirirse bu sefer yolladın kodu kullanıp
      bu adamın şifresini programımdaki sifre değişkenine at diyorum.
      Bu sayede sifreyi alip proje içerisinden ağri email ile mail sahibine yollayabiliriz.
      umarım açıklayıcı olmuştur yorumun için teşekkürler.

  • Avatar for okan okan dedi ki:

    hocam çalıştırınca bu kısımda hata alıyorum baglanti.Open();
    hata ise şu : An unhandled exception of type ‘System.Data.SqlClient.SqlException’ occurred in System.Data.dll

    Additional information: Sunucuyla bağlantı kurulurken ağ ile ilgili veya örneğe özel bir hata oluştu. Sunucu bulunamadı veya sunucuya erişilemiyor. Örnek adının doğru olduğunu ve SQL Server’ın uzak bağlantılara izin verdiğini doğrulayın. (provider: Named Pipes Provider, error: 40 – SQL Server için bağlantı açılamadı)

    Acaba bütün kodları atabilir misiniz eksikte olabilir

  • Avatar for Alperen Alperen dedi ki:

    Hocam merhaba , Access üzerinden yaptım kodların aynısını aldım sadece Sql’leri OleDb diye değiştirdim OleDbDataReader oku = com.ExecuteReader(); kısmında hata alıyorum , komut kısmında hata varmı diye bakıyorum hiçbir hata gözükmüyor ama anlamadım
    yardımcı olursanız sevinirim.

  • Avatar for dfsa dfsa dedi ki:

    Sifre bölümü ne oradaki kardeşim

  • Avatar for dfsa dfsa dedi ki:

    https://hizliresim.com/3z1rqA hatayı cevaplayabilir misiniz ?

  • Avatar for fahri fahri dedi ki:

    baglanti.state demişiz baglantiyi nerede tanımladık

    • Avatar for Ramazan Şerif Ramazan Şerif dedi ki:

      global olarak projenin tepesinde tanımladık .Bu sayede her fonksiyon ve butonda teker teker oluşturmak zorunda değiliz.

  • Avatar for ayşe ayşe dedi ki:

    sifre değişkeni hata veriyor.Tanımlamak mı gerkiyor

    • Avatar for Ramazan Şerif Ramazan Şerif dedi ki:

      evet değişkenleri üstte tanımlayıp veritabanından yada elle giriş yapınız ! İkinci olarakda mail adresinizin güvensiz mail atma ayarlarını yapınız .Bu ayar mail adresinize girdiğinizde size uyari olacak gelecektir

  • Avatar for ayşe ayşe dedi ki:

    çok güzel yazdım lakin çalışmıyor?Hata almıyorum ancak mail gelmiyor.

Bir Cevap Yazın

This site uses Akismet to reduce spam. Learn how your comment data is processed.