public EmailService CreateEmailService() { EmailService emailService = new EmailServiceBuilder() .SetEmailProvider(EmailProvider.Google) .SetCredentials("Username", "Password") .SetEmailAddresses("*****@*****.**", "*****@*****.**") .SetXslFile("transform.xsl") .Build(); return(emailService); }
public static EmailServiceBuilder AddSmtpClient(this EmailServiceBuilder builder, Func <IServiceProvider, SmtpOptions> optionsFactory) { if (optionsFactory == null) { throw new ArgumentNullException(nameof(optionsFactory)); } builder.Services.TryAddSingleton(serviceProvider => optionsFactory.Invoke(serviceProvider)); builder.Services.TryAddSingleton <IEmailClient, SmtpEmailClient>(); return(builder); }
public static EmailServiceBuilder AddEmail(this IServiceCollection services, Func <IServiceProvider, EmailAddress> fromFactory, Action <IServiceProvider, EmailOptions>?configure = null) { if (services == null) { throw new ArgumentNullException(nameof(services)); } var builder = new EmailServiceBuilder(services); services.TryAddSingleton(serviceProvider => { var options = new EmailOptions(fromFactory(serviceProvider)); configure?.Invoke(serviceProvider, options); return(options); }); services.TryAddSingleton <IEmailSender, EmailSender>(); return(builder); }
public static EmailServiceBuilder AddSmtpClient(this EmailServiceBuilder builder, SmtpOptions options) => AddSmtpClient(builder, _ => options);
public static EmailServiceBuilder AddSmtpClient(this EmailServiceBuilder builder, string host, int port = 25) => AddSmtpClient(builder, _ => new SmtpOptions(host, port));
public static EmailServiceBuilder AddFileClient(this EmailServiceBuilder builder, string path) { builder.Services.TryAddSingleton <IEmailClient>(_ => new FileEmailClient(path)); return(builder); }
public static EmailServiceBuilder AddRazorTemplateRenderer(this EmailServiceBuilder builder) { builder.Services.TryAddSingleton <IEmailTemplateRenderer, RazorEmailTemplateRenderer>(); return(builder); }