コード例 #1
0
 /// <see cref="IAlarmController.Initialize" />
 public void Initialize(TargetMailServer targetMailServer)
 {
     _targetMailServer = targetMailServer ??
                         throw new ArgumentNullException(nameof(targetMailServer));
     _currentState            = AlarmState.Normal;
     _lastMessageReceivedDate = DateTime.Now;
 }
コード例 #2
0
        /// <see cref="IMailboxMonitor.StartMonitoring" />
        public void StartMonitoring(TargetMailServer targetConfig)
        {
            if (_running)
            {
                throw new InvalidOperationException("Already monitoring the mailbox.");
            }

            _running    = true;
            _imapClient = new ImapClient();
            _imapClient.ServerCertificateValidationCallback = (s, c, h, e) => true;
            _currentReconnectDelaySecs = MailAwareConfig.ReconnectMinimumDelaySecs;
            _targetConfig = targetConfig;
            var thread = new Thread(Run);

            thread.Start();
        }