public EmailFactory(IList <Claim> claims) { Configuration = ConfigurationManager.AppSettings; var smtpConfigJson = claims.Where(a => a.Type == "SmtpConfiguration").FirstOrDefault(); if (smtpConfigJson == null) { logger.Error("No email SMTP Configuration"); return; } try { smtpConfig = JsonConvert.DeserializeObject <SmtpConfigurationUser>(smtpConfigJson.Value); client = new SmtpClient(); client.DeliveryMethod = SmtpDeliveryMethod.Network; client.UseDefaultCredentials = false; client.Credentials = new System.Net.NetworkCredential(smtpConfig.username, smtpConfig.password); client.EnableSsl = Convert.ToBoolean(smtpConfig.enableSsl); client.Host = smtpConfig.host; client.Port = Convert.ToInt32(smtpConfig.port); client.Timeout = Convert.ToInt32(smtpConfig.timeout); } catch (Exception ex) { logger.Error(ex.Message); } }
public ActionResult Edit([Bind(Include = "host,port,username,password,enableSsl,timeout")] SmtpConfigurationUser smtpConfigurationUser) { if (User == null || !User.Identity.IsAuthenticated) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } if (ModelState.IsValid) { var claims = UserManager.GetClaims(User.Identity.GetUserId()); var smtpConfigJson = claims.Where(a => a.Type == "SmtpConfiguration").FirstOrDefault(); if (smtpConfigJson == null) { UserManager.AddClaim(User.Identity.GetUserId(), new Claim("SmtpConfiguration", JsonConvert.SerializeObject(smtpConfigurationUser))); } else { UserManager.RemoveClaim(User.Identity.GetUserId(), smtpConfigJson); UserManager.AddClaim(User.Identity.GetUserId(), new Claim("SmtpConfiguration", JsonConvert.SerializeObject(smtpConfigurationUser))); } ViewBag.Success = "block"; ViewBag.Error = "none"; return(View(smtpConfigurationUser)); } ViewBag.Success = "none"; ViewBag.Error = "block"; return(View(smtpConfigurationUser)); }