/// <summary> /// Initializes a new instance of the <see cref="MailSender"/> class. /// </summary> /// <param name="settings">The settings.</param> /// <exception cref="System.ArgumentNullException">settings</exception> public MailSender(IMailSenderSettings settings) { if (settings == null) { throw new ArgumentNullException("settings"); } Settings = settings; }
public BusManager(SendMailConsumer sendMailConsumer, SendMailOrderConsumer sendMailOrderConsumer, IMailSenderSettings settings) { _busControl = Bus.Factory.CreateUsingRabbitMq(cfg => { var host = cfg.Host(new Uri("rabbitmq://" + settings.BrokerSettings.HostName), h => { h.Username(settings.BrokerSettings.UserName); h.Password(settings.BrokerSettings.Password); }); cfg.ReceiveEndpoint(host, "send_mail_queue", e => { e.UseRetry(retryConfig => { retryConfig.Handle <MailSendOperationFailedException>(); retryConfig.Ignore <MailProviderRegistrationMissingException>(); retryConfig.Interval(settings.RetrySettings.Count, TimeSpan.FromMilliseconds(settings.RetrySettings.Interval)); }); e.Consumer(() => sendMailConsumer); }); cfg.ReceiveEndpoint(host, "send_mail_order_queue", e => { e.UseRetry(retryConfig => { retryConfig.Interval(settings.RetrySettings.Count, TimeSpan.FromMilliseconds(settings.RetrySettings.Interval)); }); e.Consumer(() => sendMailOrderConsumer); }); cfg.UseInMemoryScheduler(); }); }
/// <summary> /// Initializes a new instance of the <see cref="MailSender"/> class. /// </summary> /// <param name="settings">The settings.</param> /// <exception cref="ArgumentNullException">settings</exception> public MailSender(IMailSenderSettings settings) { Settings = settings ?? throw new ArgumentNullException(nameof(settings)); }
public MailSenderServiceSendGrid(IMailSenderSettings mailSenderSettings, ISendGridEmailAddressFactory sendGridEmailAddressFactory) { _mailSenderSettings = mailSenderSettings; _sendGridEmailAddressFactory = sendGridEmailAddressFactory; }