/// <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); } }
public ImapInboxClient(IMailHandlerConfiguration config) { _config = config; _factory = _config.ClientFactory ?? new ClientFactory(_config); _timeoutKeepAlive = new System.Timers.Timer(KeepAliveTimeout) { AutoReset = true }; _timeoutKeepAlive.Elapsed += TimeoutKeepAliveOnElapsed; }
public SmtpBasicClient(IMailHandlerConfiguration config) { _config = config; _factory = _config.ClientFactory ?? new ClientFactory(_config); _timeoutKeepAlive = new Timer(KeepAliveTimeout) { AutoReset = true }; _timeoutKeepAlive.Elapsed += TimeoutKeepAliveOnElapsed; }
public void Dispose() { _config.Tracer?.TraceVerbose($"{nameof(InboxMailHandler)} is disposing", $"{this}"); _newMailHandler?.Dispose(); DisconnectClientsIfNeeded(); NewMessage = null; NewMessageBatchStarting = null; NewMessageBatchEnding = null; _config = null; }
public InboxMailHandler(IMailHandlerConfiguration config) { _config = config; MailBoxName = _config.MailBoxId; }
public ImapInboxIdler(IMailHandlerConfiguration config) { _config = config; _factory = _config.ClientFactory ?? new ClientFactory(_config); }
public ClientFactory(IMailHandlerConfiguration config) { _configuration = config; }