
Merhaba Arkadaşlar. Bu dersimizde yaptığımız projeye devam edeceğiz.
Bu dersimizde using System.IO ve using System.Net.Mail sınıflarını kullanacağız.
Ben gmail hesabım üzerinden şifre gönderecem. bunu yapmanız için ilk önce aşağıdaki linke tıklayarak gmailinize robot kullanıcılardan giriş yapma izni vermeniz gerek. yoksa ssl hatası alırsınız. Burası öenmli bir nokta arkadaşlar. Atlamamak gerek.
Bu dersimizde yapacaklaırımız :
- #Şifremi unuttum için bir form
- #Veri tabanına kayıtlı mail hesabına aktivasyon kodu gönderme
- #gönderilen kod ile textbox’a girilen kodu eşleştirme
- #boş değerler girildiğinde verilecek tepki
Kodlarımıza başlamadan Önce diğer derslerimizn linkini de sizlerle paylaşalım
Ders 1
Ders 2
Ders 3
Kütüphane Bölümü :
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data.MySqlClient; using MySql.Data; using System.IO; using System.Net.Mail;
şifremi unuttum için ben link label kullandım. siz ne kullanmak isterseniz aşağıdaki kodları onun click bölümüne yazarsınız.
if (gAdi.Text!="" && gAdi.Text!="Kullanıcı Adı") { MySqlDataAdapter baglan = new MySqlDataAdapter("select * from users where uName = '" + gAdi.Text + "'", con); con.Open(); DataSet dt = new DataSet(); baglan.Fill(dt, "users"); dataGridView1.DataSource = dt.Tables["users"]; try { Random rnd = new Random(); string mail = dataGridView1[2, 0].Value.ToString(); int x = rnd.Next(1000000,9999999); SmtpClient sc = new SmtpClient(); sc.Port = 587; sc.Host = "smtp.gmail.com"; sc.EnableSsl = true; sc.Credentials = new System.Net.NetworkCredential("gmail kısmı", "şifre kısmı"); MailMessage mesaj = new MailMessage("furkan.ishacker@gmail.com", mail); mesaj.Subject = "Şifremi Unutuum"; mesaj.Body = @"Şifrenizi sıfırlayabilmek için kodunuzu programa giriniz! Aktivasyon kodunuz : "+x+"iyi eğlenceler"; sc.Send(mesaj); Sifre ad = new Sifre(); ad.email = mail; ad.x = x; ad.Show(); } catch (Exception ex) { MessageBox.Show("Böyle bir kullanıcı bulunumadı"+ ex.Message); con.Close(); } } else { MessageBox.Show("Kullanıcı adı boş geçilemezz!"); }
daha sonra yeni açtığımız şifremi unuttum sayfasında da aktivasyon kodunu karşılaştırma yapalım. ve bir sonraki dersimizde de yeni şifre belirleyelim.
ana formdakş tüm kodlarıda burda sizinle paylaşalım.
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using MySql.Data.MySqlClient; using MySql.Data; using System.IO; using System.Net.Mail; namespace WindowsFormsApplication2 { public partial class Form1 : MetroFramework.Forms.MetroForm { MySqlConnection con; public Form1() { InitializeComponent(); try { con = new MySqlConnection(MySql.bcumlesi); } catch (Exception) { MessageBox.Show("bağlantı tapılamadı"); } } private void button1_Click(object sender, EventArgs e) { } private void Form1_Load(object sender, EventArgs e) { } private void label1_Click(object sender, EventArgs e) { } private void metroButton1_Click(object sender, EventArgs e) { MySqlDataAdapter baglan = new MySqlDataAdapter("select * from users where uName = '" + gAdi.Text + "'", con); con.Open(); DataSet dt = new DataSet(); baglan.Fill(dt,"users"); dataGridView1.DataSource = dt.Tables["users"]; if (dataGridView1.RowCount<2) { MessageBox.Show("Böyle Bir Kullanıcı Yok"); } else { string pass = dataGridView1[1, 0].Value.ToString(); if (pass==gSifre.Text) { MessageBox.Show("girş başarılı"); } else { MessageBox.Show("giriş başarısız!!"); } } con.Close(); } private void metroButton2_Click(object sender, EventArgs e) { if (txtAdi.Text!=""&&txtsifre.Text!=""&&txtmail.Text!="") { MySqlDataAdapter baglan = new MySqlDataAdapter("select * from users where uName = '" + txtAdi.Text + "'", con); con.Open(); DataSet dt = new DataSet(); baglan.Fill(dt, "users"); dataGridView1.DataSource = dt.Tables["users"]; if (dataGridView1.RowCount ==2) { MessageBox.Show("Böyle bir kullanıcı bulundu","Hata"); } else { try { MySqlCommand com = new MySqlCommand("insert into users(uName,uPass,UMail) values ('" + txtAdi.Text + "','" + txtsifre.Text + "','" + txtmail.Text + "')", con); com.ExecuteNonQuery(); MessageBox.Show("Kayıt Başarılı!"); } catch { MessageBox.Show("Kayıt Başarısız!"); } } } } private void Unuttum_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e) { if (gAdi.Text!="" && gAdi.Text!="Kullanıcı Adı") { MySqlDataAdapter baglan = new MySqlDataAdapter("select * from users where uName = '" + gAdi.Text + "'", con); con.Open(); DataSet dt = new DataSet(); baglan.Fill(dt, "users"); dataGridView1.DataSource = dt.Tables["users"]; try { Random rnd = new Random(); string mail = dataGridView1[2, 0].Value.ToString(); int x = rnd.Next(1000000,9999999); SmtpClient sc = new SmtpClient(); sc.Port = 587; sc.Host = "smtp.gmail.com"; sc.EnableSsl = true; sc.Credentials = new System.Net.NetworkCredential("furkan.ishacker@gmail.com", "şifre buraya"); MailMessage mesaj = new MailMessage("furkan.ishacker@gmail.com", mail); mesaj.Subject = "Şifremi Unutuum"; mesaj.Body = @"Şifrenizi sıfırlayabilmek için kodunuzu programa giriniz! Aktivasyon kodunuz : "+x+"iyi eğlenceler"; sc.Send(mesaj); Sifre ad = new Sifre(); ad.email = mail; ad.x = x; ad.Show(); } catch (Exception ex) { MessageBox.Show("Böyle bir kullanıcı bulunumadı"+ ex.Message); con.Close(); } } else { MessageBox.Show("Kullanıcı adı boş geçilemezz!"); } } } }
Bu dersimizde bu kadar. Diğer dersimizde görüşmek üzere..
c# ile sosyal medya yapın -şifreyi gönderme- #ders5 | Mühendis Arşivi
20/04/2017 at 18:26
[…] önceden yapmış olduğumuz ipucukutusuna alttaki kodları yapıştıralım Ders 4 […]