none
Mail Onay İşlemleri RRS feed

  • Soru

  • Asp.Net için yapmam gereken mail gönderme işlevi ile ilgili bir sorum olacaktır.Kullanıcı sisteme kayıt işlemini gerçekleştirdikten sonra kullanıcının tüm bilgileri yöneticinin mail adresine düşecek ve yönetici kullanıcıyı onaylarsa kullanıcı sisteme erişebilecek değilse sisteme girişi sağlanmayacak.Yardımcı olursanız çok sevinirim.
    6 Nisan 2013 Cumartesi 11:38

Yanıtlar

  • Bunun için üyeler tablonda normal alanlara ek olarak Onay,Uyekod1,UyeKod2 adında alanları oluşturun.Onay alanına Varsayılan değer olarak üye kayıt olurken 0(sıfır) değerini kayıt ettir.

    Daha sonra aşağıdaki kodları üynin kayıt alırkenki butonun click olayına eklersin.

     string UyeKod1, UyeKod2;
                            Random rastgele = new Random();
                            UyeKod1 = System.DateTime.Now.Millisecond.ToString();
                            UyeKod2 = rastgele.Next(1000, 99999999).ToString();
                            string sqlcumle = "Insert into Uyeler(KullaniciAdi,Sifre,AdiSoyadi,Eposta,Cinsiyet,Il,Dtarih,Tarih,UyeKod1,UyeKod2,Onay) values(@KullaniciAdi,@Sifre,@AdiSoyadi,@Eposta,@Cinsiyet,@Il,@Dtarih,@Tarih,@UyeKod1,@UyeKod2,@Onay)";
                            SqlConnection baglantisave = system.baglan();
                            SqlCommand cmd = new SqlCommand(sqlcumle, baglantisave);
                            cmd.Parameters.Add("KullaniciAdi",txtKullaniciAdi.Text);
                            cmd.Parameters.Add("Sifre",txtSifre.Text);
                            cmd.Parameters.Add("AdiSoyadi", txtAdSoyad.Text);
                            cmd.Parameters.Add("Eposta", txtEposta.Text);
                            cmd.Parameters.Add("Cinsiyet", cinsiyet);
                            cmd.Parameters.Add("Il", txtIl.Text);
                            cmd.Parameters.Add("Dtarih", txtDogumTarihi.Text);
                            cmd.Parameters.Add("Tarih", DateTime.Now.ToString());
                            cmd.Parameters.Add("UyeKod1", UyeKod1);
                            cmd.Parameters.Add("UyeKod2", UyeKod2);
                            cmd.Parameters.Add("Onay", "0");
                            cmd.ExecuteNonQuery();
    
                            SmtpClient mlClient = new SmtpClient();
                            MailMessage mlMessage = new MailMessage();
                            mlMessage.To.Add("Buraya onay mailinin gideceği eposta adresini gir");
                            mlMessage.From = new MailAddress("gmailadresinigir@gmail.com", "Site Üye onayı");
                            mlMessage.Subject = "Mail İle Uye Kayıt Onayı";
                            mlMessage.IsBodyHtml = true;
                            mlMessage.Body = "Sayın Yönetici" + txtAdSoyad.Text + "<br/>" + "İsimli üyeyi Aktif Hale Getirmek İçin Bağlantıya Tıklayınız : <a href='http://siteadın.com/UyeOnay.aspx?kd1=" + UyeKod1 + "&kd2=" + UyeKod2 + "'>Hesabınızı Aktif Hale Getirmek İçin Tıklayınız ...</a>";
                            NetworkCredential guvenlikKarti = new NetworkCredential("buraya gmail adresinin @ 'e kadar olan kısmını gir", "Buraya Gmail şifreni gir");
                            mlClient.Credentials = guvenlikKarti;
                            mlClient.Port = 587;
                            mlClient.Host = "smtp.gmail.com";
                            mlClient.EnableSsl = true;
                            mlClient.Send(mlMessage);
    
                            lblBilgi.Text = "Kayıt Edildi";
                            ltrlYeniKayitBilgi.Text = "Üyeliğiniz Alınmıştır. Üyeliğinin onaylanıp doğruladıktan sonra sisteme giriş yaparak işlemlerinizi yapabilirsiniz ...";

    Daha sonra UyeOnay.aspx isminde bir sayfa ekle projene.

    Sayfanın load olayına aşağıdaki kodları yapıştır

    string UyeKod1, UyeKod2;
            UyeKod1 = Request.QueryString["kd1"];
            UyeKod2 = Request.QueryString["kd2"];
            SqlConnection baglanti = new SqlConnection("bağlantı cümlen")
            SqlCommand cmd = new SqlCommand("Update Uyeler Set Onay=1 Where UyeKod1=@UyeKod1 and UyeKod2=@UyeKod2", baglanti);
            cmd.Parameters.AddWithValue("UyeKod1", UyeKod1);
            cmd.Parameters.AddWithValue("UyeKod2", UyeKod2);
            cmd.ExecuteNonQuery();
    
            ltrlOnayText.Text = "Üyelik Onaylanmıştır...";

    Bu kadar. Kısaca açıklamak gerekirse. Kullanıcıdan kayıt alırken UyeKod1 ve UyeKod2 adında 2 tane rastgele kod üretiyoruz ve Onay alanına 0 kayıt ettiriyoruz. Üye için oluşturduğumuz bu kodları UyeOnay.aspx sayfasına yukarıdaki birinci kodda görüldüğü gibi gönderiyoruz. Mailden tıkladığın bağlantı yani. UyeOnay.aspx sayfasında da bu kodları alıyoruz querystring ile ve bu kodlara ait üyenin Onay alanını 1 olarak güncelliyoruz ve onaylanmış oluyor. Kolay gelsin. Kullanıcı giriş yaparkende kullanıcı adı ve şifre alanları yanında Onay alanınıda kontrol ettirirsin. 0 ise üyelik onaylanmadı şeklinde uyarı verdirebilirsin. Onaylıysa zaten giriş yapabilir. Kolay gelsin ....

    6 Nisan 2013 Cumartesi 17:19

Tüm Yanıtlar

  • Bunun için üyeler tablonda normal alanlara ek olarak Onay,Uyekod1,UyeKod2 adında alanları oluşturun.Onay alanına Varsayılan değer olarak üye kayıt olurken 0(sıfır) değerini kayıt ettir.

    Daha sonra aşağıdaki kodları üynin kayıt alırkenki butonun click olayına eklersin.

     string UyeKod1, UyeKod2;
                            Random rastgele = new Random();
                            UyeKod1 = System.DateTime.Now.Millisecond.ToString();
                            UyeKod2 = rastgele.Next(1000, 99999999).ToString();
                            string sqlcumle = "Insert into Uyeler(KullaniciAdi,Sifre,AdiSoyadi,Eposta,Cinsiyet,Il,Dtarih,Tarih,UyeKod1,UyeKod2,Onay) values(@KullaniciAdi,@Sifre,@AdiSoyadi,@Eposta,@Cinsiyet,@Il,@Dtarih,@Tarih,@UyeKod1,@UyeKod2,@Onay)";
                            SqlConnection baglantisave = system.baglan();
                            SqlCommand cmd = new SqlCommand(sqlcumle, baglantisave);
                            cmd.Parameters.Add("KullaniciAdi",txtKullaniciAdi.Text);
                            cmd.Parameters.Add("Sifre",txtSifre.Text);
                            cmd.Parameters.Add("AdiSoyadi", txtAdSoyad.Text);
                            cmd.Parameters.Add("Eposta", txtEposta.Text);
                            cmd.Parameters.Add("Cinsiyet", cinsiyet);
                            cmd.Parameters.Add("Il", txtIl.Text);
                            cmd.Parameters.Add("Dtarih", txtDogumTarihi.Text);
                            cmd.Parameters.Add("Tarih", DateTime.Now.ToString());
                            cmd.Parameters.Add("UyeKod1", UyeKod1);
                            cmd.Parameters.Add("UyeKod2", UyeKod2);
                            cmd.Parameters.Add("Onay", "0");
                            cmd.ExecuteNonQuery();
    
                            SmtpClient mlClient = new SmtpClient();
                            MailMessage mlMessage = new MailMessage();
                            mlMessage.To.Add("Buraya onay mailinin gideceği eposta adresini gir");
                            mlMessage.From = new MailAddress("gmailadresinigir@gmail.com", "Site Üye onayı");
                            mlMessage.Subject = "Mail İle Uye Kayıt Onayı";
                            mlMessage.IsBodyHtml = true;
                            mlMessage.Body = "Sayın Yönetici" + txtAdSoyad.Text + "<br/>" + "İsimli üyeyi Aktif Hale Getirmek İçin Bağlantıya Tıklayınız : <a href='http://siteadın.com/UyeOnay.aspx?kd1=" + UyeKod1 + "&kd2=" + UyeKod2 + "'>Hesabınızı Aktif Hale Getirmek İçin Tıklayınız ...</a>";
                            NetworkCredential guvenlikKarti = new NetworkCredential("buraya gmail adresinin @ 'e kadar olan kısmını gir", "Buraya Gmail şifreni gir");
                            mlClient.Credentials = guvenlikKarti;
                            mlClient.Port = 587;
                            mlClient.Host = "smtp.gmail.com";
                            mlClient.EnableSsl = true;
                            mlClient.Send(mlMessage);
    
                            lblBilgi.Text = "Kayıt Edildi";
                            ltrlYeniKayitBilgi.Text = "Üyeliğiniz Alınmıştır. Üyeliğinin onaylanıp doğruladıktan sonra sisteme giriş yaparak işlemlerinizi yapabilirsiniz ...";

    Daha sonra UyeOnay.aspx isminde bir sayfa ekle projene.

    Sayfanın load olayına aşağıdaki kodları yapıştır

    string UyeKod1, UyeKod2;
            UyeKod1 = Request.QueryString["kd1"];
            UyeKod2 = Request.QueryString["kd2"];
            SqlConnection baglanti = new SqlConnection("bağlantı cümlen")
            SqlCommand cmd = new SqlCommand("Update Uyeler Set Onay=1 Where UyeKod1=@UyeKod1 and UyeKod2=@UyeKod2", baglanti);
            cmd.Parameters.AddWithValue("UyeKod1", UyeKod1);
            cmd.Parameters.AddWithValue("UyeKod2", UyeKod2);
            cmd.ExecuteNonQuery();
    
            ltrlOnayText.Text = "Üyelik Onaylanmıştır...";

    Bu kadar. Kısaca açıklamak gerekirse. Kullanıcıdan kayıt alırken UyeKod1 ve UyeKod2 adında 2 tane rastgele kod üretiyoruz ve Onay alanına 0 kayıt ettiriyoruz. Üye için oluşturduğumuz bu kodları UyeOnay.aspx sayfasına yukarıdaki birinci kodda görüldüğü gibi gönderiyoruz. Mailden tıkladığın bağlantı yani. UyeOnay.aspx sayfasında da bu kodları alıyoruz querystring ile ve bu kodlara ait üyenin Onay alanını 1 olarak güncelliyoruz ve onaylanmış oluyor. Kolay gelsin. Kullanıcı giriş yaparkende kullanıcı adı ve şifre alanları yanında Onay alanınıda kontrol ettirirsin. 0 ise üyelik onaylanmadı şeklinde uyarı verdirebilirsin. Onaylıysa zaten giriş yapabilir. Kolay gelsin ....

    6 Nisan 2013 Cumartesi 17:19
  • Çok teşekkür ederim mesajınız için.Size bir sorum daha olacak.Wpf browser application üzerinden geliştirdiğim uygulamam var ve UyeOnay.aspx sayfasına yönlendirme işlemini nasıl yapabilirim.Çok araştırdım ama bir türlü yapamıyorum yardımcı olursanız çok sevinirim.Servis referansları ile ilgili birçok uygulama denedim ama olmadı.
    21 Haziran 2013 Cuma 12:36