Логирование активности SmtpClient

Логирование активности используется для отладки, а также для сбора и анализа рабочей информации о клиенте SMTP.

Включение логирования активности с использованием файла appsettings.json

ПРИМЕЧАНИЕ: Этот вариант предпочтителен для приложений .NET Core.

Логирование в SmtpClient можно включить с помощью следующих шагов и примеров кода:

  1. Добавьте файл конфигурации appsettings.json в проект C#, если он ранее не был добавлен.

  2. Убедитесь, что в файле проекта содержатся следующие строки в разделе ItemGroup.

       <Content Include="appsettings.json">
           <CopyToOutputDirectory>Always</CopyToOutputDirectory>
       </Content>
    
  3. Затем добавьте следующее содержимое в файл appsettings.json.

       {
         "SmtpDiagnosticLog": "smtp.log",
         "SmtpDiagnosticLog_UseDate": true
       }
    

Два вышеупомянутых свойства:

  • SmtpDiagnosticLog - указывает относительный или абсолютный путь к файлу журнала.

  • SmtpDiagnosticLog_UseDate - указывает, следует ли добавлять строковое представление текущей даты в имя файла журнала.

Включение логирования активности в коде программы

Вы также можете включить логирование сразу в коде.

ПРИМЕЧАНИЕ: даже если вы уже включили логирование, используя конфигурационные файлы, этот вариант будет применен.

Логирование в SmtpClient можно включить с помощью следующих шагов и примеров кода:

  1. Создайте SmtpClient.
  2. Установите путь к файлу журнала с помощью свойства LogFileName.
  3. Установите свойство UseDateInLogFileName, если это необходимо.
   using (var client = new SmtpClient("your smtp server"))
   {
       // Установите имя пользователя, пароль, порт и параметры безопасности
       client.Username = "your username";
       client.Password = "your password";
       client.Port = 465;
       client.SecurityOptions = SecurityOptions.SSLImplicit;
   
       // Установите путь к файлу журнала с помощью свойства LogFileName.
       client.LogFileName = @"C:\Aspose.Email.Smtp.log";
       
       // Установите свойство UseDateInLogFileName, если это необходимо.
       client.UseDateInLogFileName = false;
   
       var eml = new MailMessage("from address", "to address", "this is a test subject", "this is a test body");
   
       client.Send(eml);
   }

Включение логирования активности с использованием файла App.config

Активность клиента SMTP может быть зарегистрирована путем изменения configSections в конфигурационном файле. Логирование диагностики можно выполнить с помощью следующих шагов:

  1. Добавьте группу секций с названием “applicationSettings”.
  2. Добавьте секцию с названием “Aspose.Email.Properties.Settings”.
  3. Включите настройку с именем SmtpDiagonosticLog, где имя файла определяется в applicationSettings/Aspose.Email.Properties.Settings.

Вот пример приложения на основе форм, которое использует SmtpClient для отправки электронной почты. Вся эта активность фиксируется путем изменения файла App.config. Создайте форму приложения с одной кнопкой. Добавьте следующий код для клика по кнопке:

  1. Добавьте ссылку на Aspose.Email.
todo:image_alt_text
  1. Добавьте файл App.Config и измените его так, чтобы содержимое файла выглядело следующим образом:
  • Для C# .NET используйте следующий вариант:
todo:image_alt_text
  • Для VB .NET используйте следующий вариант:
todo:image_alt_text   todo:image_alt_text
todo:image_alt_text
  1. Запустите код и затем проверьте папку отладки. Будет сгенерирован следующий файл.
todo:image_alt_text