/// <summary> /// Register a MailKit mailer with the factory. /// </summary> /// <param name="factory">The factory.</param> /// <param name="mailerSettings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The history store.</param> public static void AddMkSmtpMailer( this MailerFactory factory, MkSmtpMailerSettings mailerSettings, ILogger <MkSmtpMailer> logger = null, IHistoryStore store = null) { factory.Register(() => new MkSmtpMailer( mailerSettings, logger ?? factory.DefaultLoggerFactory?.CreateLogger <MkSmtpMailer>(), factory.ConfigureHistoryStoreLogger(store))); }
/// <summary> /// Registers a safety mailer proxy for a MailKit mailer. /// </summary> /// <param name="factory">The factory.</param> /// <param name="safetyMailerSettings">The safety mailer settings.</param> /// <param name="clientFunc">The client function.</param> /// <param name="mailerSettings">The mailer settings.</param> /// <param name="logger">The logger.</param> /// <param name="store">The store.</param> public static void AddSafetyMailer ( this MailerFactory factory, SafetyMailerSettings safetyMailerSettings, Func <SmtpClient> clientFunc, MkSmtpMailerSettings mailerSettings, ILogger <MkSmtpMailer> logger = null, IHistoryStore store = null ) { factory.Register(() => new SafetyMailer <MkSmtpMailer>( new MkSmtpMailer ( clientFunc(), mailerSettings, logger ?? factory.DefaultLoggerFactory?.CreateLogger <MkSmtpMailer>(), factory.ConfigureHistoryStoreLogger(store) ), safetyMailerSettings)); }