Esempio n. 1
0
        /// <summary>
        /// Constructor
        /// </summary>
        public RaspMailHandler(IMailHandlerConfiguration configuration)
        {
            IMailServerConfiguration sendingServerConfiguration   = configuration.SendingServerConfiguration;
            IMailServerConfiguration recievingServerConfiguration = configuration.RecievingServerConfiguration;
            Type outBoxImplementationType = configuration.OutBoxImplementationType;
            Type inBoxImplementationType  = configuration.InBoxImplementationType;

            _inboxFactory = InboxFactory.GetInstance();

            _inbox = _inboxFactory.GetInbox(recievingServerConfiguration, inBoxImplementationType, this);

            _outbox = (IOutbox)outBoxImplementationType.GetConstructor(new Type[0]).Invoke(null);
            _outbox.OutboxServerConfiguration = sendingServerConfiguration;


            if (_inbox != null)
            {
                _inbox.OnExceptionThrown  += new MailboxExceptionThrown(CallbackExceptionThrown);
                _inbox.OnInboxStateChange += new OnInboxStateChangeDelegate(CallbackOnInboxStateChange);
            }
            if (_outbox != null)
            {
                _outbox.OnExceptionThrown += new MailboxExceptionThrown(CallbackExceptionThrown);
            }
        }
Esempio n. 2
0
 public ImapInboxClient(IMailHandlerConfiguration config)
 {
     _config           = config;
     _factory          = _config.ClientFactory ?? new ClientFactory(_config);
     _timeoutKeepAlive = new System.Timers.Timer(KeepAliveTimeout)
     {
         AutoReset = true
     };
     _timeoutKeepAlive.Elapsed += TimeoutKeepAliveOnElapsed;
 }
Esempio n. 3
0
 public SmtpBasicClient(IMailHandlerConfiguration config)
 {
     _config           = config;
     _factory          = _config.ClientFactory ?? new ClientFactory(_config);
     _timeoutKeepAlive = new Timer(KeepAliveTimeout)
     {
         AutoReset = true
     };
     _timeoutKeepAlive.Elapsed += TimeoutKeepAliveOnElapsed;
 }
Esempio n. 4
0
        public void Dispose()
        {
            _config.Tracer?.TraceVerbose($"{nameof(InboxMailHandler)} is disposing", $"{this}");

            _newMailHandler?.Dispose();

            DisconnectClientsIfNeeded();

            NewMessage = null;
            NewMessageBatchStarting = null;
            NewMessageBatchEnding   = null;
            _config = null;
        }
Esempio n. 5
0
 public InboxMailHandler(IMailHandlerConfiguration config)
 {
     _config     = config;
     MailBoxName = _config.MailBoxId;
 }
Esempio n. 6
0
 public ImapInboxIdler(IMailHandlerConfiguration config)
 {
     _config  = config;
     _factory = _config.ClientFactory ?? new ClientFactory(_config);
 }
Esempio n. 7
0
 public ClientFactory(IMailHandlerConfiguration config)
 {
     _configuration = config;
 }