public ActionResult PasswordReminder(User c_user) { int userid = userDto.GetId(c_user.Email); if (userid != 0) { char[] chars = new char[62]; chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890".ToCharArray(); byte[] data = new byte[1]; RNGCryptoServiceProvider crypto = new RNGCryptoServiceProvider(); crypto.GetBytes(data); data = new byte[20]; crypto.GetBytes(data); StringBuilder result = new StringBuilder(20); foreach (byte b in data) { result.Append(chars[b % (chars.Length)]); } userDto.SetNewPassword(userid, result.ToString()); System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage( "*****@*****.**", c_user.Email, "Wygenerowane nowe hasło", "Twoje nowe hasło do logowania to: "); string body = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; body += "<HTML><HEAD><META http-equiv=Content-Type content=\"text/html; charset=utf-8\">"; body += "</HEAD><BODY><DIV><FONT face=Arial color=#EB7261 size=4>Twoje nowe haslo logowania to:" + "</br>" + result.ToString(); body += "</FONT></DIV></BODY></HTML>"; ContentType mimeType = new System.Net.Mime.ContentType("text/html"); // Add the alternate body to the message. AlternateView alternate = AlternateView.CreateAlternateViewFromString(body, mimeType); message.AlternateViews.Add(alternate); SmtpClient smtp = new SmtpClient(); smtp.Port = 587; smtp.EnableSsl = true; smtp.DeliveryMethod = SmtpDeliveryMethod.Network; smtp.UseDefaultCredentials = false; smtp.Credentials = new NetworkCredential("*****@*****.**", "geodeta123"); smtp.Host = "smtp.gmail.com"; smtp.Send(message); return(this.RedirectToAction("SuccessGeneratePassword", "User")); } ModelState.AddModelError(string.Empty, "Nie ma zarejestrowanego użytkownika o podanym adresie e-mail"); return(this.View()); }