コード例 #1
0
        private void SendMail(Uye uye)
        {
            try
            {
                // sifirlama kodu link sonuna eklenecek. ister tıklamaylayönlendirme ister kodu girin geçin gibi bir yönlendirme. sifirlamakodu ndan sonra yenisifre diye sayfa acilacak. o sayfanın parametresi sifirlamaKodu olacak. routueconfig i ona göre ayarla.
                string sifirlamaKodu = Guid.NewGuid().ToString();

                SmtpClient sc = new SmtpClient();
                sc.Port        = 587;
                sc.Host        = "smtp.gmail.com";
                sc.EnableSsl   = true;
                sc.Credentials = new NetworkCredential("{MAILADRESI}", "{SIFRE}");

                MailMessage mail = new MailMessage();
                mail.From = new MailAddress("{MAILADRESI}", "MvcBlog");
                mail.To.Add(uye.Email);
                mail.Subject    = "Şifre Sıfırlama MvcBlog";
                mail.IsBodyHtml = true;
                mail.Body       = "Şifre sıfırlama e-maili talep ettiniz.Şifre sıfırlamak için geçici sıfırlama kodunuz : " + sifirlamaKodu + " http://localhost:64874/Uye/Index/" + uye.UyeID;
                sc.Send(mail);

                SifreSifirlama sf = new SifreSifirlama();
                sf.UyeID         = uye.UyeID;
                sf.SifirlamaKodu = sifirlamaKodu;
                sf.Tarih         = DateTime.Now;
                db.SifreSifirlama.Add(sf);
                db.SaveChanges();
            }
            catch (Exception)
            {
                TempData["mailbasarisiz3"] = "Şifre sıfırlama maili başarısız oldu.";
            }
        }
コード例 #2
0
        public ActionResult SifirlamaKodu(SifreSifirlama sfr, Uye uye, int id)
        {
            if (sfr == null || id == 0)
            {
                TempData["kodhatali"] = "Hata var";
                return(View());
            }
            var kod = db.SifreSifirlama.Where(z => z.UyeID == id).OrderByDescending(x => x.Tarih).Take(1).SingleOrDefault();

            if (kod.SifirlamaKodu != sfr.SifirlamaKodu || uye.KullaniciAdi != kod.Uye.KullaniciAdi)
            {
                TempData["hatalikod"] = "Şifre sıfırlama kodunuz yada kullanıcı adınız hatalı.";
                return(View(kod.Uye));
            }
            else
            {
                return(Redirect("/Uye/YeniSifre/" + kod.UyeID));
            }
        }