コード例 #1
0
 public MailerService(IOptions <MailerOptions> options,
                      IHtmlComposer composer,
                      IMailQueue queue)
 {
     _options  = options.Value;
     _composer = composer;
     _queue    = queue;
 }
コード例 #2
0
 public MailJob(IOptions <MailerOptions> options,
                IServiceProvider provider,
                ILogger <MailJob> logger,
                IMailQueue queue)
 {
     _options  = options.Value;
     _provider = provider;
     _logger   = logger;
     _queue    = queue;
 }
コード例 #3
0
ファイル: SpamAssassin.cs プロジェクト: garath/mail-server
 public SpamAssassin(
     AgentSettings settings,
     IMailQueue mailQueue,
     ILogger logger
     )
 {
     _settings  = settings;
     _mailQueue = mailQueue;
     _logger    = logger;
 }
コード例 #4
0
 public BinaryDataCommand(
     SecurableConnection connection,
     SmtpSession session,
     IMailQueue mailQueue,
     IMailBuilder builder)
 {
     _connection = connection;
     _session    = session;
     _mailQueue  = mailQueue;
     _builder    = builder;
 }
コード例 #5
0
        public CLAController(ILogger <CLAController> logger, IConfiguration configuration,
                             NotificationsEnabledDb database, ICLASignatureStorage signatureStorage, IMailQueue mailQueue,
                             IBackgroundJobClient jobClient)
        {
            this.logger           = logger;
            this.database         = database;
            this.signatureStorage = signatureStorage;
            this.mailQueue        = mailQueue;
            this.jobClient        = jobClient;

            emailSignaturesTo = configuration["CLA:SignatureEmailBCC"];
        }
コード例 #6
0
ファイル: DataCommand.cs プロジェクト: garath/mail-server
 public DataCommand(
     IMailQueue mailQueue,
     AgentSettings settings,
     IVariableStreamReader reader,
     ConnectionInformation connectionInformation,
     IMailBuilder builder,
     ISmtpMessageChannel channel
     )
 {
     _mailQueue             = mailQueue;
     _settings              = settings;
     _reader                = reader;
     _connectionInformation = connectionInformation;
     _builder               = builder;
     _channel               = channel;
 }
コード例 #7
0
ファイル: MailSenderService.cs プロジェクト: aduggleby/dragon
        public MailSenderService(IMailQueue queue, IConfiguration configuration = null, ISmtpClient smtpClient = null)
        {
            if (queue == null) throw new ArgumentException("Queue cannot be null.", "queue");

            m_configuration = configuration ?? new DefaultConfiguration();
            m_queue = queue;
            m_smtpClient = smtpClient;

            s_sleepAfterException = StringToIntUtil.Interpret(m_configuration.GetValue(APP_KEY_WAIT_ERROR), s_sleepAfterException);
            s_sleepAfterOnNoWork = StringToIntUtil.Interpret(m_configuration.GetValue(APP_KEY_WAIT_NOWORK), s_sleepAfterOnNoWork);

            s_overrideRecipient = m_configuration.GetValue(APP_KEY_OVERRIDE_RECIPIENT);
            s_overrideSmtpHost = m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_HOST);
            s_overrideSmtpPort = StringToIntUtil.InterpretNullable(m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_PORT), null);
            s_overrideSmtpSSL = StringToBoolUtil.InterpretNullable(m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_SSL), null);
            s_overrideSmtpUser = m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_USER);
            s_overrideSmtpPassword = m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_PASSWORD);
            s_overrideSmtpDomain = m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_DOMAIN);

        }
コード例 #8
0
ファイル: MailDispatcher.cs プロジェクト: garath/mail-server
        public MailDispatcher(
            IMailQueue incoming,
            IMailboxDeliveryStore delivery,
            IMailTransferQueue transfer,
            ILogger log,
            IDomainSettingResolver domainResolver,
            SpamAssassin spamAssassin,
            IVolatile <AgentSettings> settings)
        {
            _settings       = settings;
            _incoming       = incoming;
            _delivery       = delivery;
            _transfer       = transfer;
            _log            = log;
            _domainResolver = domainResolver;
            _spamAssassin   = spamAssassin;

            _settings.ValueChanged += UpdateDomains;
            UpdateDomains(null, _settings.Value, null);
        }
コード例 #9
0
        public MailGeneratorService(
            IMailQueue queue     = null,
            IDataStore dataStore = null,
            Func <Template, IRenderer> rendererFactory = null,
            IDataDecorator[] decorators              = null,
            IReceiverMapper receiverMapper           = null,
            ISenderConfiguration senderConfiguration = null,
            IConfiguration configuration             = null,
            IHttpClient httpClient = null,
            IMailSenderService mailSenderService = null,
            bool?async = null)
        {
            m_queue = queue ?? new InMemoryMailQueue();

            IConfiguration configuration1 = configuration ?? new DefaultConfiguration();

            m_rendererFactory = rendererFactory ?? (t => new HandlebarsRenderer(t));
            m_decorators      = decorators ?? new IDataDecorator[]
            {
                new RestResolvingDecorator(
                    httpClient ?? new JsonHttpClient(),
                    dataStore)
            };
            m_receiverMapper      = receiverMapper ?? new DefaultReceiverMapper();
            m_senderConfiguration = senderConfiguration ??
                                    new DefaultSenderConfiguration(
                configuration1);

            m_asyncActive = async.HasValue ? async.Value : StringToBoolUtil.Interpret(configuration1.GetValue(APP_KEY_ASYNCACTIVE));

            if (!m_asyncActive && mailSenderService == null)
            {
                m_mailSenderService = new MailSenderService(m_queue);
            }
            else
            {
                m_mailSenderService = mailSenderService;
            }
        }
コード例 #10
0
        public MailSenderService(IMailQueue queue, IConfiguration configuration = null, ISmtpClient smtpClient = null)
        {
            if (queue == null)
            {
                throw new ArgumentException("Queue cannot be null.", "queue");
            }

            m_configuration = configuration ?? new DefaultConfiguration();
            m_queue         = queue;
            m_smtpClient    = smtpClient;

            s_sleepAfterException = StringToIntUtil.Interpret(m_configuration.GetValue(APP_KEY_WAIT_ERROR), s_sleepAfterException);
            s_sleepAfterOnNoWork  = StringToIntUtil.Interpret(m_configuration.GetValue(APP_KEY_WAIT_NOWORK), s_sleepAfterOnNoWork);

            s_overrideRecipient    = m_configuration.GetValue(APP_KEY_OVERRIDE_RECIPIENT);
            s_overrideSmtpHost     = m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_HOST);
            s_overrideSmtpPort     = StringToIntUtil.InterpretNullable(m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_PORT), null);
            s_overrideSmtpSSL      = StringToBoolUtil.InterpretNullable(m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_SSL), null);
            s_overrideSmtpUser     = m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_USER);
            s_overrideSmtpPassword = m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_PASSWORD);
            s_overrideSmtpDomain   = m_configuration.GetValue(APP_KEY_OVERRIDE_SMTP_DOMAIN);
        }
コード例 #11
0
        public MailGeneratorService(
            IMailQueue queue = null,
            IDataStore dataStore = null,
            Func<Template, IRenderer> rendererFactory = null,
            IDataDecorator[] decorators = null,
            IReceiverMapper receiverMapper = null,
            ISenderConfiguration senderConfiguration = null,
            IConfiguration configuration = null,
            IHttpClient httpClient = null,
            IMailSenderService mailSenderService = null,
            bool? async = null)
        {
            m_queue = queue ?? new InMemoryMailQueue();

            IConfiguration configuration1 = configuration ?? new DefaultConfiguration();

            m_rendererFactory = rendererFactory ?? (t => new HandlebarsRenderer(t));
            m_decorators = decorators ?? new IDataDecorator[]
            {
                new RestResolvingDecorator(
                    httpClient ?? new JsonHttpClient(),
                    dataStore)
            };
            m_receiverMapper = receiverMapper ?? new DefaultReceiverMapper();
            m_senderConfiguration = senderConfiguration ??
                new DefaultSenderConfiguration(
                    configuration1);

            m_asyncActive = async.HasValue ? async.Value : StringToBoolUtil.Interpret(configuration1.GetValue(APP_KEY_ASYNCACTIVE));

            if (!m_asyncActive && mailSenderService == null)
            {
                m_mailSenderService = new MailSenderService(m_queue);
            }
            else
            {
                m_mailSenderService = mailSenderService;
            }
        }
コード例 #12
0
        private void RecordForContact(IMailQueue mail)
        {
            if (string.IsNullOrEmpty(mail.RecordForContactId))
            {
                return;
            }

            var contact = EntityFactory.GetById <IContact>(mail.RecordForContactId);

            if (contact == null)
            {
                return;
            }

            var user = EntityFactory.GetById <IUser>(mail.CreateUser);

            var note = EntityFactory.Create <IHistory>();

            note.AccountId     = contact.Account.Id.ToString();
            note.AccountName   = contact.Account.AccountName;
            note.ContactId     = contact.Id.ToString();
            note.ContactName   = contact.FullName;
            note.Type          = HistoryType.atEMail;
            note.UserId        = user?.Id.ToString() ?? "ADMIN";
            note.UserName      = user?.UserInfo.NameLF ?? "Administrator";
            note.Description   = mail.Subject;
            note.Result        = "Completed";
            note.StartDate     = DateTime.Now;
            note.Timeless      = true;
            note.Duration      = 1;
            note.Category      = "E-mail";
            note.CompletedDate = note.StartDate;
            note.CompletedUser = user?.Id.ToString() ?? "ADMIN";
            note.Notes         = (mail.Body.Length > 255 ? mail.Body.Substring(0, 255) : mail.Body);
            note.LongNotes     = mail.Body;
            note.Save();
        }
コード例 #13
0
 public static void OnCreate(IMailQueue mailqueue)
 {
     mailqueue.IsHtml = true;
 }
コード例 #14
0
 public static void MailQueueProcessedStep(IMailQueue mailqueue)
 {
 }