public EmailSenderFactory(IConfiguration configuration, IServiceProvider serviceProvider) { var emailType = configuration["EmailSender:EmailSenderType"].ToLower(); if (emailType == "pickup") { var options = new PickFolderSmtpOptions(); configuration.GetSection("EmailSender").Bind(options); _emailSender = new PickFolderEmailSender(options); } else if (emailType == "smtp") { var options = new SmtpOptions(); configuration.GetSection("EmailSender").Bind(options); _emailSender = new SmtpEmailSender(options); } else { var options = new SendGridOptions(); configuration.GetSection("EmailSender").Bind(options); var logger = ActivatorUtilities.GetServiceOrCreateInstance <ILogger <SendGridEmailSender> >(serviceProvider); _emailSender = new SendGridEmailSender(options, logger); } }
public PickFolderEmailSender(PickFolderSmtpOptions pickFolderSmtpOptions) { Options = pickFolderSmtpOptions; }