/// <summary> /// Creates a new <see cref="EmailService"/>. /// </summary> public EmailService(IEmailViewRender emailViewRenderer, IEmailParser emailParser, IOptions <EmailServiceOptions> options, ILogger <EmailService> logger) { this.emailViewRenderer = emailViewRenderer; this.emailParser = emailParser; this.options = options.Value; this.logger = logger; }
// Get our parameterized configuration public EmailSender(IEmailService emailService, IEmailViewRender emailViewRenderer, IWebHostEnvironment env, IOptions <EmailSenderOptions> emailOptions) { _emailOptions = emailOptions.Value; _emailService = emailService; _env = env; }
public EmailViewResultExecutor(ILoggerFactory loggerFactory, IHttpResponseStreamWriterFactory httpResponseStreamWriterFactory, IEmailViewRender render, IEmailParser parser = null) { _logger = loggerFactory.CreateLogger <EmailViewResultExecutor>(); _httpResponseStreamWriterFactory = httpResponseStreamWriterFactory; Render = render; Parser = parser ?? new EmailParser(Render); }
/// <summary> /// Creates a new <see cref="EmailService"/>. /// </summary> public EmailService(IEmailViewRender emailViewRenderer, IEmailParser emailParser, IOptions <EmailServiceOptions> options, ILogger <EmailService> logger) { this.emailViewRenderer = emailViewRenderer; this.emailParser = emailParser; this.options = options.Value; this.logger = logger; logger.LogDebug($"EmailService options:"); logger.LogDebug($"\tHost: {this.options.Host}"); logger.LogDebug($"\tPort: {this.options.Port}"); logger.LogDebug($"\tEnableSSL: {this.options.EnableSSL}"); logger.LogDebug($"\tFromAddress: {this.options.FromAddress}"); logger.LogDebug($"\tUserName: {this.options.UserName}"); }
private HttpContext GetHttpContext(IEmailViewRender render, IEmailParser parser = null) { var options = Options.Create(new MvcViewOptions()); var viewExecutor = new EmailViewResultExecutor( NullLoggerFactory.Instance, new TestHttpResponseStreamWriterFactory(), render, parser); var services = new ServiceCollection(); services.AddSingleton <IActionResultExecutor <EmailViewResult> >(viewExecutor); var httpContext = new DefaultHttpContext(); var memoryStream = new MemoryStream(); httpContext.Response.Body = memoryStream; httpContext.RequestServices = services.BuildServiceProvider(); return(httpContext); }
/// <summary> /// Creates a new <see cref="EmailService"/>. /// </summary> public EmailService(IEmailViewRender emailViewRenderer, IEmailParser emailParser = null, Func <SmtpClient> createSmtpClient = null) { this.emailViewRenderer = emailViewRenderer; this.emailParser = emailParser; this.createSmtpClient = createSmtpClient ?? (() => new SmtpClient()); }
//https://github.com/aspnet/Mvc/blob/a67d9363e22be8ef63a1a62539991e1da3a6e30e/test/Microsoft.AspNetCore.Mvc.ViewFeatures.Test/ViewResultTest.cs private ActionContext GetActionContext(IEmailViewRender render, IEmailParser parser = null) { return(new ActionContext(GetHttpContext(render, parser), new RouteData(), new ActionDescriptor())); }
/// <summary> /// Creates a new <see cref="EmailParser"/>. /// </summary> /// public EmailParser(IEmailViewRender alternativeViewRenderer) { this.alternativeViewRenderer = alternativeViewRenderer; }