public EmailModel( UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, ITemplatedEmailSender emailSender) { this._userManager = userManager; this._signInManager = signInManager; this._emailSender = emailSender; }
public LoginModel(SignInManager <ApplicationUser> signInManager, ILogger <LoginModel> logger, UserManager <ApplicationUser> userManager, ITemplatedEmailSender emailSender) { this._userManager = userManager; this._signInManager = signInManager; this._emailSender = emailSender; this._logger = logger; }
public RegisterModel( UserManager <ApplicationUser> userManager, SignInManager <ApplicationUser> signInManager, ILogger <RegisterModel> logger, ITemplatedEmailSender emailSender) { this._userManager = userManager; this._signInManager = signInManager; this._logger = logger; this._emailSender = emailSender; }
public static Task <EmailResult> SendConfirmPasswordAsync(this ITemplatedEmailSender email, string toAddress, string callbackUrl) { _values.Clear(); _values["url"] = HtmlEncoder.Default.Encode(callbackUrl); return(email.SendTemplatedEmailAsync( toAddress, "Please confirm your email", _confirmPassword, _values )); }
public ModuleController( SignInManager <ApplicationUser> signIn, UserManager <ApplicationUser> users, ITemplatedEmailSender email, ILogger <ModuleController> logger ) { this._signInManager = signIn; this._userManager = users; this._logger = logger; this._emailSender = email; }
public IActionResult Email( AdminSettingsViewModel settings, [FromServices] IFarmMasterSettingsAccessor dbSettings, [FromServices] ITemplatedEmailSender email ) { if (!this.ModelState.IsValid) { return(this.RedirectToAction("Settings")); } var mutableSettings = dbSettings.Settings; mutableSettings.SmtpServer = settings.Email.Smtp.Server; mutableSettings.SmtpPort = settings.Email.Smtp.Port; mutableSettings.SmtpUsername = settings.Email.Smtp.Username; mutableSettings.SmtpPassword = settings.Email.Smtp.Password; dbSettings.Settings = mutableSettings; /** * Just so the flow of email is documented: * * - ConfigureEmailOptions will update IOptions, IOptionsSnapshot, and IOptionsMonitor with values * from the database. * * - ITemplatedEmailSender doesn't recieve the new values automatically because ASP and its conflicting/open-ended documentation, * so we need a way to notify it of changes to the config. * * - Since this is the only place where the config can be changed, after updating the database with new settings (code above), * we construct an IOptionSnapshot for the *first time for this request*, causing it to contain up-to-date info via ConfigureEmailOptions. * * - After that, we call ReloadAsync on the ITemplatedEmailSender so it can update its connection. * */ // This will cause all IConfigureOptions to be ran on the new values. var upToDateConfig = this.HttpContext.RequestServices.GetRequiredService <IOptionsSnapshot <EmailSenderConfig> >().Value; try { email.ReloadAsync(upToDateConfig).Wait(); } catch (Exception ex) { settings.EmailError = ex.Message; return(this.View(VIEW_SETTINGS, settings)); } return(this.RedirectToAction("Settings")); }
public AccountController( UserManager <Member> aMemberManager, SignInManager <Member> aSignInManager, ITemplatedEmailSender aTemplatedEmailSender, DataProtectionPurposeStrings aDataProtectionPurposeStrings, IDataProtectionProvider aDataProtectionProvider ) { _MemberManager = aMemberManager; _SignInManager = aSignInManager; _TemplatedEmailSender = aTemplatedEmailSender; _dataProtector = aDataProtectionProvider.CreateProtector(aDataProtectionPurposeStrings.UserIdRouteValue); }
public async Task <IActionResult> TestEmail( [FromServices] ITemplatedEmailSender email, [FromServices] UserManager <ApplicationUser> users ) { var user = await users.GetUserAsync(this.User); var address = await users.GetEmailAsync(user); // This is so I can also test templates, as well as letting the user test their settings. var template = new EmailTemplate("<h1>{{ race }} are demons, change my mind. There's a link {{ @a#b?c=race }}</h1>"); var values = new EmailTemplateValues() { { "race", "Lalafells" } }; var result = await email.SendTemplatedEmailAsync(address, "This is a test email", template, values); if (!result.Succeeded) { return(this.RedirectToAction("Settings", new { emailTestError = result.Error })); } return(this.RedirectToAction("Settings")); }
public ForgotPasswordModel(UserManager <ApplicationUser> userManager, ITemplatedEmailSender emailSender) { this._userManager = userManager; this._emailSender = emailSender; }
public RegisterConfirmationModel(UserManager <ApplicationUser> userManager, ITemplatedEmailSender sender) { this._userManager = userManager; this._sender = sender; }