/// <summary>
        /// Запускается после создания файла
        /// </summary>
        private void OnCreated(object source, FileSystemEventArgs e)
        {
            Logger.Info("Обнаружен новый документ: " + e.FullPath);
            FileSystemWatcher _watcher = null;

            try
            {
                Logger.Info("Процесс отправки и удаления: " + e.FullPath);
                _watcher = (FileSystemWatcher)source;
                var _task = SmtpSender.SendEmailAsync(e.FullPath);
                Task.WaitAll(_task);
                Logger.Info("Удалении файла: " + e.FullPath);
                File.Delete(e.FullPath);
                Logger.Info("Файл удален: " + e.FullPath);
            }
            catch (FileNotFoundException ex)
            {
                Logger.Error("Ошибка при удалении файла." + ex.Message);
                Logger.Trace(ex.StackTrace);
            }
            finally
            {
                if (_watcher != null)
                {
                    _watcher.Created -= new FileSystemEventHandler(OnCreated);
                    _watcher.Created += new FileSystemEventHandler(OnCreated);
                }
            }
        }
        public void SmtpSendMethodParamException3()
        {
            Mock <ILogger> mockNlog   = new Mock <ILogger>();
            ISmtpSender    mailClient = new SmtpSender("*****@*****.**", "str", "str", "*****@*****.**", "str", "str", mockNlog.Object);
            var            ex         = Assert.ThrowsAsync <System.ArgumentNullException>(async() => await mailClient.SendEmailAsync(null));

            Assert.That(ex.Message, Is.EqualTo("Значение не может быть неопределенным.\r\nИмя параметра: fileName"));
        }
        public void SmtpSendMethodParamException2()
        {
            Mock <ILogger> mockNlog   = new Mock <ILogger>();
            ISmtpSender    mailClient = new SmtpSender("*****@*****.**", "str", "str", "*****@*****.**", "str", "str", mockNlog.Object);
            var            ex         = Assert.ThrowsAsync <System.ArgumentException>(async() => await mailClient.SendEmailAsync(""));

            Assert.That(ex.Message, Is.EqualTo("Параметр 'fileName' не может быть пустой строкой.\r\nИмя параметра: fileName"));
        }
        public void SmtpConstructorParamException()
        {
            Mock <ILogger> mockNlog   = new Mock <ILogger>();
            ISmtpSender    mailClient = new SmtpSender("", "", "", "", "", "", mockNlog.Object);
            var            ex         = Assert.ThrowsAsync <System.ArgumentException>(async() => await mailClient.SendEmailAsync("C:\\MailFolder\\d"));

            Assert.That(ex.Message, Is.EqualTo("Параметр 'address' не может быть пустой строкой.\r\nИмя параметра: address"));
        }