public static void SendVerificationMail(MyTrelloUser user) { using (var smtpClient = new SmtpClient("smtp.gmail.com")) { var mailMessage = new MailMessage { From = new MailAddress("*****@*****.**") }; mailMessage.To.Add(user.Email); mailMessage.Subject = "Verification account - MyTrello"; mailMessage.Body = string.Format("For complete the registration, please visit http://mytrello.apphb.com/Users/CompleteRegister and use this token {0} for validation purposes.", user.VerificationToken); smtpClient.EnableSsl = true; smtpClient.UseDefaultCredentials = false; smtpClient.Credentials = new NetworkCredential("mytrello.info", "accountinfo123456"); smtpClient.Send(mailMessage); } }
public ActionResult Register(UserRegister user) { if (RepoUser.VerifyIfExistWithId(user.NickName)) ModelState.AddModelError("NickName", "MyTrelloUser name already exists."); if (ModelState.IsValid) { IGenerator gen = new Generator(); var userModel = new MyTrelloUser { Id = user.NickName, Name = user.Name, Password = gen.GenerateHash(user.Password), Email = user.Email, CurrentRole = RoleStatus.User, IsValid = false, VerificationToken = gen.GenerateToken(), ContainsImage = false }; RepoUser.Add(userModel); try { MvcUtils.SendVerificationMail(userModel); } catch (SmtpFailedRecipientsException exception) { ModelState.AddModelError("Email", exception); Response.StatusCode = HttpStatusCodes.BadRequest; RepoUser.Remove(userModel.Id); return View("Error"); } catch(SmtpException) { Response.StatusCode = HttpStatusCodes.InternalServerError; RepoUser.Remove(userModel.Id); return View("Error"); } return new SeeOtherResult { Uri = Url.Action("Login", "Users") }; } Response.StatusCode = HttpStatusCodes.BadRequest; return View(user); }