Skonfiguruj rejestrowanie aktywności klienta SMTP w .NET Core
Rejestrowanie aktywności służy do debugowania, a także do zbierania i analizowania informacji o działaniu klienta SMTP.
Włączenie rejestrowania aktywności
Użyj pliku appsettings.json, aby włączyć rejestrowanie aktywności
UWAGA: Ta opcja jest preferowana dla aplikacji .NET Core.
Logowanie SmtpClient można włączyć przy użyciu następujących kroków i przykładów kodu:
-
Dodaj plik konfiguracyjny appsettings.json do projektu C#, jeśli nie został jeszcze dodany.
-
Upewnij się, że plik projektu zawiera następujące wiersze w sekcji ItemGroup.
<Content Include="appsettings.json"> <CopyToOutputDirectory>Always</CopyToOutputDirectory> </Content> -
Następnie dodaj następującą zawartość do pliku appsettings.json.
{ "SmtpDiagnosticLog": "smtp.log", "SmtpDiagnosticLog_UseDate": true }
Powyższe dwie właściwości to:
-
SmtpDiagnosticLog – określa względną lub bezwzględną ścieżkę do pliku logu.
-
SmtpDiagnosticLog_UseDate – określa, czy dodać reprezentację tekstową bieżącej daty do nazwy pliku logu.
Włącz rejestrowanie aktywności w kodzie programu
Możesz także włączyć rejestrowanie od razu w kodzie.
UWAGA: nawet jeśli już włączyłeś rejestrowanie przy użyciu plików konfiguracyjnych, ta opcja zostanie zastosowana.
Logowanie SmtpClient można włączyć przy użyciu następujących kroków i przykładów kodu:
- Utwórz SmtpClient.
- Ustaw ścieżkę do pliku dziennika przy użyciu LogFileName właściwość.
- Ustaw UseDateInLogFileName właściwość, jeśli jest to konieczne.
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);
}
Użyj pliku App.config, aby włączyć rejestrowanie aktywności
Aktywność klienta SMTP może być rejestrowana poprzez modyfikację sekcji configSections w pliku konfiguracyjnym. Rejestrowanie diagnostyczne można wykonać następującymi krokami:
- Dodaj grupę sekcji o nazwie "applicationSettings".
- Dodaj sekcję o nazwie "Aspose.Email.Properties.Settings".
- Dołącz ustawienie o nazwie SmtpDiagonosticLog, w którym nazwa pliku jest zdefiniowana w applicationSettings/Aspose.Email.Properties.Settings
Oto przykładowa aplikacja oparta na formularzu, która używa SmtpClient do wysłania e‑maila. Cała ta czynność jest rejestrowana poprzez modyfikację pliku App.config. Utwórz aplikację formularzową z jednym przyciskiem. Dodaj następujący kod dla zdarzenia kliknięcia przycisku:
// 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);
}
- Dodaj odwołanie do Aspose.Email.
![]() |
|---|
- Dodaj plik App.Config i zmodyfikuj go tak, aby jego zawartość była następująca
<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>
- Dla C# .NET użyj następującej opcji
![]() |
|---|
- Dla VB .NET użyj następującej opcji
![]() |
![]() |
|---|
![]() |
|---|
- Uruchom kod i następnie sprawdź folder debug. Zostanie wygenerowany następujący plik.
![]() |
|---|




