public void SendRegistrationEmail(Identity.Identity user) { using (var context = new Data.SizeUpContext()) { var strings = context.ResourceStrings.Where(i => i.Name.StartsWith("Registration.Email")).ToList(); var template = strings.Where(i => i.Name == "Registration.Email.Body").Select(i => i.Value).FirstOrDefault(); var subject = strings.Where(i => i.Name == "Registration.Email.Subject").Select(i => i.Value).FirstOrDefault(); var uri = HttpContext.Current.Request.Url; var t = Templates.TemplateFactory.GetTemplate(template); t.Add("User", user); t.Add("ConfirmKey", HttpContext.Current.Server.UrlEncode(user.GetEncryptedToken())); t.Add("OptOutKey", HttpContext.Current.Server.UrlEncode(user.GetEncryptedToken())); t.Add("AppDomain", uri.Scheme + Uri.SchemeDelimiter + uri.Host + ":" + uri.Port); string body = t.Render(); SendMail(user.Email, subject, body); } }
public void SendResetPasswordEmail(Identity.Identity user) { using (var context = new Data.SizeUpContext()) { var strings = context.ResourceStrings.Where(i => i.Name.StartsWith("PasswordReset.Email")).ToList(); var template = strings.Where(i => i.Name == "PasswordReset.Email.Body").Select(i => i.Value).FirstOrDefault(); var subject = strings.Where(i => i.Name == "PasswordReset.Email.Subject").Select(i => i.Value).FirstOrDefault(); var uri = HttpContext.Current.Request.Url; var t = Templates.TemplateFactory.GetTemplate(template); t.Add("User", user); t.Add("PasswordResetKey", HttpContext.Current.Server.UrlEncode(user.GetEncryptedToken())); t.Add("OptOutKey", HttpContext.Current.Server.UrlEncode(user.GetEncryptedToken())); //t.Add("AppDomain", uri.Scheme + Uri.SchemeDelimiter + uri.Host + ":" + uri.Port); //t.Add("AppDomain", (HttpContext.Current.Request.IsSecureConnection ? "https" : "http") + Uri.SchemeDelimiter + uri.Host); t.Add("AppDomain", (ConfigurationManager.AppSettings["HostingEnvironment"] == "LOCALHOST" ? "http" : "https") + Uri.SchemeDelimiter + uri.Host); string body = t.Render(); SendMail(user.Email, subject, body); } }