/// <summary> /// Default constructor with DI /// </summary> /// <param name="serviceOptions">Configuration options</param> /// <param name="logger">An instance of ILogger for recording</param> /// <param name="hostingEnvironment">Current environment information</param> /// <param name="emailTemplateFactory">The ICG Email Template Factory for formatting messages</param> public MimeMessageFactory(IOptions <SmtpServiceOptions> serviceOptions, ILogger <MimeMessageFactory> logger, IHostingEnvironment hostingEnvironment, IEmailTemplateFactory emailTemplateFactory) { _serviceOptions = serviceOptions.Value; _logger = logger; _hostingEnvironment = hostingEnvironment; _emailTemplateFactory = emailTemplateFactory; }
public async Task <IActionResult> Order( [FromServices] IEmailSink emailSink, [FromServices] IWebHostEnvironment env, [FromServices] GetOrder getOrder, [FromServices] IEmailTemplateFactory etf) { if (env.IsProduction()) { return(Ok()); } var order = getOrder.ForUserById("dummy"); // var templatePath = Path.Combine(env.WebRootPath, "email-templates", "order.liquid"); // var templateString = await System.IO.File.ReadAllTextAsync(templatePath); // var template = Template.Parse(templateString); await emailSink.SendAsync(new SendEmailRequest { Subject = $"Order Placed, {order.Id}", To = "*****@*****.**", Message = await etf.RenderShippingConfirmationAsync(order),// template.Render(Hash.FromAnonymousObject(OrderProjections.Project(order))), Html = true, }); return(Ok()); }
public ProcessOrder( IOrderManager orderManager, IEmailSink emailSink, IEmailTemplateFactory emailTemplateFactory) { _orderManager = orderManager; _emailSink = emailSink; _emailTemplateFactory = emailTemplateFactory; }
public CreateOrder( IOrderManager orderManager, CartCheckout cartCheckout, IEmailSink emailSink, IEmailTemplateFactory emailTemplateFactory) { _orderManager = orderManager; _cartCheckout = cartCheckout; _emailSink = emailSink; _emailTemplateFactory = emailTemplateFactory; }
public AccountManager( UserManager <User> userManager, IEmailSink emailSink, IEmailTemplateFactory emailTemplateFactory, IUrlHelper urlHelper, HostSettings hostSettings) { _userManager = userManager; _emailSink = emailSink; _emailTemplateFactory = emailTemplateFactory; _urlHelper = urlHelper; _hostSettings = hostSettings; }
public EmailContentFactoryTests() { _hostingEnvironmentMock = new Mock <IHostingEnvironment>(); _hostingEnvironmentMock.Setup(h => h.ContentRootPath).Returns("..\\..\\..\\"); //Provides a path back to the root of the test project _emailTemplateSettingsMock = new Mock <IOptions <EmailTemplateSettings> >(); _emailTemplateSettingsMock.Setup(s => s.Value).Returns(new EmailTemplateSettings { DefaultTemplatePath = "Templates\\default.html", AdditionalTemplates = new Dictionary <string, string> { { "Special", "Templates\\Special.html" }, { "Invalid", "invalid.html" } } }); _factory = new EmailTemplateFactory(_emailTemplateSettingsMock.Object, _hostingEnvironmentMock.Object); }
public EmailMessageComposer(IEmailTemplateFactory templateFactory) { _templateFactory = templateFactory; }
public EmailHandler(IEmailTemplateFactory factory) { this.factory = factory; }