Exemplo n.º 1
0
        public EmailNotificatorTests()
        {
            _smtpClientFactory  = Substitute.For <ISmtpClientFactory>();
            _mailSettingsConfig = MailSettingsConfigFake.Generate();

            _mailMessageFactory = Substitute.For <IMessageFactory <MailMessageCreateRequest, MailMessage> >();
            _notificator        = new EmailNotificator(_smtpClientFactory, _mailSettingsConfig, _mailMessageFactory);

            var recipients = new List <string>()
            {
                _faker.Internet.Email(),
            };

            _emailMessage = new EmailMessage("from", recipients, "subject", "body");

            var smtpServerConfig1 = SmtpServerConfigFake.Generate();
            var smtpServerConfig2 = SmtpServerConfigFake.Generate();
            var smtpServerConfig3 = SmtpServerConfigFake.Generate();

            _mailSettingsConfig.Smtp.Servers = new List <SmtpServerConfig>()
            {
                smtpServerConfig1, smtpServerConfig2, smtpServerConfig3
            };

            _smtpClient1 = Substitute.ForPartsOf <FakeSmtpClient>(smtpServerConfig1.Host);
            _smtpClient2 = Substitute.ForPartsOf <FakeSmtpClient>(smtpServerConfig2.Host);
            _smtpClient3 = Substitute.ForPartsOf <FakeSmtpClient>(smtpServerConfig3.Host);

            _smtpClientFactory.Create(smtpServerConfig1).Returns(_smtpClient1);
            _smtpClientFactory.Create(smtpServerConfig2).Returns(_smtpClient2);
            _smtpClientFactory.Create(smtpServerConfig3).Returns(_smtpClient3);
        }
Exemplo n.º 2
0
        public EmailDispatcher(ISmtpClientFactory smtpClientFactory)
        {
            if (smtpClientFactory == null)
                throw new ArgumentNullException("smtpClientFactory");

            this.smtpClientFactory = smtpClientFactory;
        }
Exemplo n.º 3
0
 public SmtpConfiguration(ISmtpClientFactory smtpClientFactory, MailMessage emailMessage, IRetry retry)
 {
     this.smtpClientFactory = smtpClientFactory;
     this.emailMessage      = emailMessage;
     this.retry             = retry;
     ConfigureSMTPSettings();
 }
Exemplo n.º 4
0
        //--- Methods ---
        protected override Yield Start(XDoc config, ILifetimeScope container, Result result)
        {
            yield return(Coroutine.Invoke(base.Start, config, new Result()));

            _defaultSettings = new SmtpSettings {
                Host = config["smtp-host"].AsText
            };
            if (string.IsNullOrEmpty(_defaultSettings.Host))
            {
                _defaultSettings.Host = "localhost";
            }
            _log.DebugFormat("Smtp Host: {0}", _defaultSettings.Host);

            // Note (arnec): ssl requires mono 2.0 and likely root certificate import via 'mozroots --import --ask-remove --machine'
            _defaultSettings.EnableSsl = config["use-ssl"].AsBool ?? false;
            if (config["smtp-port"].AsInt.HasValue)
            {
                _defaultSettings.Port = config["smtp-port"].AsInt.Value;
            }
            _defaultSettings.AuthUser     = config["smtp-auth-user"].AsText;
            _defaultSettings.AuthPassword = config["smtp-auth-password"].AsText;
            _clientFactory = container.IsRegistered <ISmtpClientFactory>()
                ? container.Resolve <ISmtpClientFactory>()
                : new SmtpClientFactory();

            // get an apikey for accessing the services without it's private/internal keys
            _emailApikey = config["apikey"].AsText;
            result.Return();
        }
Exemplo n.º 5
0
        public Mailer(IOptionsMonitor <SmtpConfig> smtpConfigOptions, ISmtpClientFactory smtpClientFactory)
        {
            SmtpConfig smtpConfig = smtpConfigOptions.CurrentValue;

            _smptClient = smtpClientFactory.Create(smtpConfig);
            _sender     = smtpConfig.Email;
        }
Exemplo n.º 6
0
 public SmtpHealthCheck(
     [NotNull] ISmtpClientFactory smtpClientFactory,
     [NotNull] IOptions <SmtpSettings> options
     ) : base(options)
 {
     _smtpClientFactory = smtpClientFactory;
 }
Exemplo n.º 7
0
 public MailSender(ISmtpClientFactory smtpFactory)
 {
     if (smtpFactory == null)
     {
         throw new ArgumentNullException("smtpFactory");
     }
     _smtpFactory = smtpFactory;
 }
Exemplo n.º 8
0
 public EmailNotificator(ISmtpClientFactory smtpClientFactory,
                         MailSettingsConfig mailSettingsConfig,
                         IMessageFactory <MailMessageCreateRequest, MailMessage> mailMessageFactory)
 {
     _smtpClientFactory  = smtpClientFactory;
     _mailSettingsConfig = mailSettingsConfig;
     _mailMessageFactory = mailMessageFactory;
 }
 public EmailNotificationService(ISqlServerRepository repository, ISmtpClientFactory smtpClientFactory, IPdbConfigurationService pdbConfigurationService, IConfigurationRepository configurationRepository, IConfigurationAuditRepository configurationAuditRepository)
 {
     Database                          = repository;
     ReportingService                  = new BestInServiceReportingService(repository);
     this.configurationService         = pdbConfigurationService;
     this.smtpClientFactory            = smtpClientFactory;
     this.configurationRepository      = configurationRepository;
     this.configurationAuditRepository = configurationAuditRepository;
 }
Exemplo n.º 10
0
 public SmtpService(
     [NotNull] ISmtpClientFactory smtpClientFactory,
     [NotNull] IOptions <SmtpSettings> smtpSettings,
     ILoggerService <SmtpService> logger
     )
 {
     _smtpClientFactory = smtpClientFactory;
     _smtpSettings      = smtpSettings.Value;
     _logger            = logger;
 }
Exemplo n.º 11
0
        public EmailService(ISmtpClientFactory smtpClientFactory, string serverSenderName, string serverSenderEmail, string serverReceiverEmail, string serverReceiverName)
        {
            _smtpClientFactory = smtpClientFactory;

            _serverSenderName  = serverSenderName;
            _serverSenderEmail = serverSenderEmail;

            _serverReceiverEmail = serverReceiverEmail;
            _serverReceiverName  = serverReceiverName;
        }
Exemplo n.º 12
0
        public MailServerSender(IAbstractLogger logger, int maxRetry, int retryTimeSeconds, int maxParallelMessages, ISmtpClientFactory clifac)
        {
            _maxRetry            = maxRetry;
            _retryTimeSeconds    = retryTimeSeconds;
            _maxParallelMessages = maxParallelMessages;
            _clifac = clifac;
            _logger = logger;

            _cancelSrc = new CancellationTokenSource();
            _token     = _cancelSrc.Token;
        }
Exemplo n.º 13
0
 public EmailService(
     IEmailDataService emailDataService,
     IConfigService configService,
     ISmtpClientFactory smtpClientFactory,
     ILogger <EmailService> logger
     )
 {
     this.emailDataService  = emailDataService;
     this.configService     = configService;
     this.smtpClientFactory = smtpClientFactory;
     this.logger            = logger;
 }
Exemplo n.º 14
0
 public EmailService(
     string senderName,
     string senderEmail,
     string receiverName,
     string receiverEmail,
     ISmtpClientFactory smtpClientFactory,
     MimeMessage message,
     SmtpClient smtpClient)
 {
     _senderName        = senderName;
     _senderEmail       = senderEmail;
     _receiverName      = receiverName;
     _receiverEmail     = receiverEmail;
     _smtpClientFactory = smtpClientFactory;
     _message           = message;
     _smtpClient        = smtpClient;
 }
Exemplo n.º 15
0
 public EmailAlertService(IMailMessageFactory mailMessageFactory, ISmtpClientFactory smtpClientFactory)
 {
     _mailMessageFactory = mailMessageFactory ?? throw new System.ArgumentNullException(nameof(mailMessageFactory));
     _smtpClientFactory  = smtpClientFactory ?? throw new System.ArgumentNullException(nameof(smtpClientFactory));
 }
Exemplo n.º 16
0
 /// <summary>
 /// Creates a new instance of the <see cref="EmailService"/> class
 /// </summary>
 /// <param name="emailConfiguration">Used for accessing the SMPT and POP3 information</param>
 /// <param name="logger">Used for logging</param>
 /// <param name="smptClientFactory">Used for creating an instance of the <see cref="SmtpClient"/></param>
 public EmailService(IEmailConfiguration emailConfiguration, ILogger <EmailService> logger, ISmtpClientFactory smptClientFactory)
 {
     _emailConfiguration = emailConfiguration;
     _logger             = logger;
     _smptClientFactory  = smptClientFactory;
 }
Exemplo n.º 17
0
 public MailSender([NotNull] ISmtpClientFactory smtpClientFactory)
 {
     if (smtpClientFactory == null) throw new ArgumentNullException(nameof(smtpClientFactory));
     _smtpClientFactory = smtpClientFactory;
 }
Exemplo n.º 18
0
 public SmtpService(ISmtpClientFactory smtpClientFactory, ISendMailAccount sendMailAccount)
 {
     _smtpClientFactory      = smtpClientFactory ?? throw new ArgumentNullException(nameof(smtpClientFactory));
     _defaultSendMailAccount = sendMailAccount ?? throw new ArgumentNullException(nameof(sendMailAccount));
 }
Exemplo n.º 19
0
 public MailSender(ISmtpClientFactory smtpClientFactory, IRepository repo)
 {
     _smtpClientFactory = smtpClientFactory;
     _repo = repo;
 }
Exemplo n.º 20
0
 public MailSender(
     ISmtpClientFactory factory
     )
 {
     Factory = factory;
 }
Exemplo n.º 21
0
        //--- Methods ---
        protected override Yield Start(XDoc config, ILifetimeScope container, Result result)
        {
            yield return Coroutine.Invoke(base.Start, config, new Result());
            _defaultSettings = new SmtpSettings { Host = config["smtp-host"].AsText };
            if(string.IsNullOrEmpty(_defaultSettings.Host)) {
                _defaultSettings.Host = "localhost";
            }
            _log.DebugFormat("Smtp Host: {0}", _defaultSettings.Host);

            // Note (arnec): ssl requires mono 2.0 and likely root certificate import via 'mozroots --import --ask-remove --machine'
            _defaultSettings.EnableSsl = config["use-ssl"].AsBool ?? false;
            if(config["smtp-port"].AsInt.HasValue) {
                _defaultSettings.Port = config["smtp-port"].AsInt.Value;
            }
            _defaultSettings.AuthUser = config["smtp-auth-user"].AsText;
            _defaultSettings.AuthPassword = config["smtp-auth-password"].AsText;
            _clientFactory = container.IsRegistered<ISmtpClientFactory>()
                ? container.Resolve<ISmtpClientFactory>()
                : new SmtpClientFactory();

            // get an apikey for accessing the services without it's private/internal keys
            _emailApikey = config["apikey"].AsText;
            result.Return();
        }
 public SmtpService(ISmtpClientFactory smtpClientFactory)
 {
     this.smtpClientFactory = smtpClientFactory;
 }
 public EmailService(ISmtpClientFactory smtpClientFactory, IEmailRepository emailRepository)
 {
     this.smtpClientFactory = smtpClientFactory;
     this.emailRepository   = emailRepository;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="SmtpClientPool"/> class.
 /// </summary>
 /// <param name="config">SmtpConfiguration.</param>
 /// <param name="logger">logger.</param>
 /// <param name="factory">SmtpClientFactory.</param>
 public SmtpClientPool(ISmtpConfiguration config, ILogger logger, ISmtpClientFactory factory)
 {
     this.logger  = logger;
     this.config  = config;
     this.factory = factory;
 }
Exemplo n.º 25
0
 public EmailSender(ISmtpClientFactory factory)
 {
     this.factory = factory;
 }
Exemplo n.º 26
0
 public MailSender(AppSettings settings, ISmtpClientFactory factory, IMailMessageValidator validator)
 {
     _settings  = settings;
     _factory   = factory;
     _validator = validator;
 }
Exemplo n.º 27
0
 public MailSender(ISmtpClientFactory smtpFactory)
 {
     if (smtpFactory == null) throw new ArgumentNullException("smtpFactory");
     _smtpFactory = smtpFactory;
 }
Exemplo n.º 28
0
 public SmtpEmailService(ILoggingService logger, ISmtpClientFactory clientFactory)
 {
     _clientFactory = clientFactory;
     _logger        = logger;
 }