public async Task <IActionResult> Test( TestTemplateViewModel model, [FromServices] IEmailQueueBlobStore blobStore, [FromServices] IEmailQueueSender emailSender, CancellationToken cancellationToken) { if (ModelState.IsValid) { var token = EmailQueueToken.Create(model.ApplicationId); var param = new EmailMessageParams { ApplicationId = model.ApplicationId, TemplateId = model.TemplateId, To = new List <string> { model.EmailAddress }, Culture = model.Language, Data = JObject.Parse(model.SampleData).ToObject <Dictionary <string, object> >() }; await blobStore.AddAsync(token, param, cancellationToken); await emailSender.SendAsync(token, cancellationToken); Response.StatusCode = (int)HttpStatusCode.Accepted; return(RedirectToAction(nameof(Details), new { id = model.TemplateId })); } // TODO: reload translations return(View(model)); }
public UserController( IHostingEnvironment env, UserManager <ApplicationUser> userManager, IEmailQueueSender emailSender, ILogger <UserController> logger) { _env = env; _userManager = userManager; _emailSender = emailSender; _logger = logger; }
public MessagesController( IEmailQueueSender sender, IEmailQueueBlobStore blobStore, IEmailLogReader logReader, IEmailLogWriter logWriter, ILoggerFactory loggerFactory) { _sender = sender; _blobStore = blobStore; _logReader = logReader; _logWriter = logWriter; _logger = loggerFactory.CreateLogger <MessagesController>(); }
public SignUpController( IHostingEnvironment env, Models.DbContext ctx, SignInManager <ApplicationUser> signInManager, UserManager <ApplicationUser> userManager, IEmailQueueSender emailSender, IMapper mapper ) { _env = env; _ctx = ctx; _signInManager = signInManager; _userManager = userManager; _emailSender = emailSender; _mapper = mapper; }
public static Task ResetPasswordAsync(this IEmailQueueSender emailSender, ApplicationUser user, string callbackUrl) { var msgIn = new NotifyEmail { Name = $"{user.FirstName} {user.LastName}", To = user.Email, Subject = "password reset", Message = null, Template = "password-reset", FieldDict = new Dictionary <string, string> { { "firstName", user.FirstName }, { "lastName", user.LastName }, { "resetLink", callbackUrl }, }, }; return(emailSender.SendToEmailQueueAsync(msgIn)); }
public static Task EmailConfirmationAsync(this IEmailQueueSender emailSender, ApplicationUser user, string link) { var msgIn = new NotifyEmail { Name = $"{user.FirstName} {user.LastName}", To = user.Email, Subject = "email verification", Message = null, Template = "email-verification", FieldDict = new Dictionary <string, string> { { "firstName", user.FirstName }, { "lastName", user.LastName }, { "confirmLink", link }, }, }; return(emailSender.SendToEmailQueueAsync(msgIn)); }