Настроить журналирование активности SMTP-клиента в .NET Core

Журналирование активности используется для отладки, а также для сбора и анализа рабочей информации о 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"))
   {
       // Set username, password, port, and security options
       client.Username = "your username";
       client.Password = "your password";
       client.Port = 465;
       client.SecurityOptions = SecurityOptions.SSLImplicit;
   
       // Set the path to the log file using the LogFileName property.
       client.LogFileName = @"C:\Aspose.Email.Smtp.log";
       
       // Set the UseDateInLogFileName property if it is necessary.
       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. Запустите код и проверьте папку debug. Будет создан следующий файл.
todo:image_alt_text