Логирование активности SmtpClient
Логирование активности используется для отладки, а также для сбора и анализа рабочей информации о клиенте SMTP.
Включение логирования активности с использованием файла appsettings.json
ПРИМЕЧАНИЕ: Этот вариант предпочтителен для приложений .NET Core.
Логирование в SmtpClient можно включить с помощью следующих шагов и примеров кода:
-
Добавьте файл конфигурации appsettings.json в проект C#, если он ранее не был добавлен.
-
Убедитесь, что в файле проекта содержатся следующие строки в разделе ItemGroup.
<Content Include="appsettings.json"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content>
-
Затем добавьте следующее содержимое в файл appsettings.json.
{ "SmtpDiagnosticLog": "smtp.log", "SmtpDiagnosticLog_UseDate": true }
Два вышеупомянутых свойства:
-
SmtpDiagnosticLog - указывает относительный или абсолютный путь к файлу журнала.
-
SmtpDiagnosticLog_UseDate - указывает, следует ли добавлять строковое представление текущей даты в имя файла журнала.
Включение логирования активности в коде программы
Вы также можете включить логирование сразу в коде.
ПРИМЕЧАНИЕ: даже если вы уже включили логирование, используя конфигурационные файлы, этот вариант будет применен.
Логирование в SmtpClient можно включить с помощью следующих шагов и примеров кода:
- Создайте SmtpClient.
- Установите путь к файлу журнала с помощью свойства LogFileName.
- Установите свойство 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 в конфигурационном файле. Логирование диагностики можно выполнить с помощью следующих шагов:
- Добавьте группу секций с названием “applicationSettings”.
- Добавьте секцию с названием “Aspose.Email.Properties.Settings”.
- Включите настройку с именем SmtpDiagonosticLog, где имя файла определяется в applicationSettings/Aspose.Email.Properties.Settings.
Вот пример приложения на основе форм, которое использует SmtpClient для отправки электронной почты. Вся эта активность фиксируется путем изменения файла App.config. Создайте форму приложения с одной кнопкой. Добавьте следующий код для клика по кнопке:
// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
// Build message | |
MailMessage message = new MailMessage(); | |
// Set email address for From and TO | |
message.From = "userFrom@gmail.com"; | |
message.To = "userTo@gmail.com"; | |
// Set Subject and Body | |
message.Subject = "Appointment Request"; | |
message.Body = "Test Body"; | |
// Initialize SmtpClient and Set valid user name and password, Port and SecurityOptions | |
SmtpClient client = new SmtpClient(); | |
client.Host = "smtp.gmail.com"; | |
client.Username = "userFrom"; | |
client.Password = "***********"; | |
client.Port = 587; | |
client.SecurityOptions = SecurityOptions.SSLExplicit; | |
try | |
{ | |
client.Send(message); | |
} | |
catch(Exception ex) | |
{ | |
Console.WriteLine(ex.Message); | |
} |
- Добавьте ссылку на Aspose.Email.
![]() |
---|
- Добавьте файл App.Config и измените его так, чтобы содержимое файла выглядело следующим образом:
For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET | |
<configuration> | |
<configSections> | |
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > | |
<section name="Aspose.Email.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> | |
</sectionGroup> | |
</configSections> | |
<applicationSettings> | |
<Aspose.Email.Properties.Settings> | |
<setting name="SmtpDiagnosticLog" serializeAs="String"> | |
<value>Aspose.Email.SMTP.log</value> | |
</setting> | |
</Aspose.Email.Properties.Settings> | |
</applicationSettings> | |
</configuration> |
- Для C# .NET используйте следующий вариант:
![]() |
---|
- Для VB .NET используйте следующий вариант:
![]() |
![]() |
---|
![]() |
---|
- Запустите код и затем проверьте папку отладки. Будет сгенерирован следующий файл.
![]() |
---|