コード例 #1
0
        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));
        }
コード例 #2
0
 public UserController(
     IHostingEnvironment env,
     UserManager <ApplicationUser> userManager,
     IEmailQueueSender emailSender,
     ILogger <UserController> logger)
 {
     _env         = env;
     _userManager = userManager;
     _emailSender = emailSender;
     _logger      = logger;
 }
コード例 #3
0
 public MessagesController(
     IEmailQueueSender sender,
     IEmailQueueBlobStore blobStore,
     IEmailLogReader logReader,
     IEmailLogWriter logWriter,
     ILoggerFactory loggerFactory)
 {
     _sender    = sender;
     _blobStore = blobStore;
     _logReader = logReader;
     _logWriter = logWriter;
     _logger    = loggerFactory.CreateLogger <MessagesController>();
 }
コード例 #4
0
 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;
 }
コード例 #5
0
        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));
        }
コード例 #6
0
        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));
        }