Пример #1
0
        /// <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;
        }
Пример #2
0
        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();
            });
        }
Пример #3
0
 /// <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;
 }