Configurar o registro de atividades do cliente SMTP no .NET Core

O registro de atividades é usado para depuração, bem como para coletar e analisar informações operacionais sobre o cliente SMTP.

Habilitar Registro de Atividade

Usar o Arquivo appsettings.json para Habilitar o Registro de Atividades

NOTA: Esta opção é preferida para aplicações .NET Core.

Registro SmtpClient pode ser habilitado com os passos e exemplos de código a seguir:

  1. Adicione um arquivo de configuração appsettings.json a um projeto C#, caso ainda não tenha sido adicionado.

  2. Certifique‑se de que o arquivo de projeto contém as linhas a seguir na seção ItemGroup.

       <Content Include="appsettings.json">
           <CopyToOutputDirectory>Always</CopyToOutputDirectory>
       </Content>
    
  3. Em seguida, adicione o seguinte conteúdo ao arquivo appsettings.json.

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

As duas propriedades mencionadas acima são:

  • SmtpDiagnosticLog - especifica o caminho relativo ou absoluto para o arquivo de registro.

  • SmtpDiagnosticLog_UseDate - especifica se deve acrescentar a representação em string da data atual ao nome do arquivo de registro.

Habilitar Registro de Atividades no Código do Programa

Você também pode habilitar o registro imediatamente no código.

NOTA: mesmo que você já tenha habilitado o registro usando arquivos de configuração, esta opção será aplicada.

Registro SmtpClient pode ser habilitado com os passos e exemplos de código a seguir:

  1. Crie um SmtpClient.
  2. Defina o caminho para o arquivo de log usando o LogFileName propriedade.
  3. Defina o UseDateInLogFileName propriedade se for necessária.
   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);
   }

Usar o Arquivo App.config para Habilitar o Registro de Atividades

A atividade do cliente SMTP pode ser registrada modificando as configSections no arquivo de configuração. O registro de diagnóstico pode ser realizado com as seguintes etapas:

  1. Adicione um sectionGroup chamado "applicationSettings".
  2. Adicione uma seção chamada "Aspose.Email.Properties.Settings".
  3. Inclua a configuração com o nome SmtpDiagonosticLog onde o nome do arquivo está definido em applicationSettings/Aspose.Email.Properties.Settings

Aqui está um exemplo de aplicação baseada em formulário que usa SmtpClient para enviar um e‑mail. Toda essa atividade é registrada ao modificar o arquivo App.config. Crie uma aplicação de formulário com um único botão. Adicione o seguinte código para o clique do botão:

// 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);
}
  1. Adicione a referência ao Aspose.Email.
todo:image_alt_text
  1. Adicione o arquivo App.Config e modifique-o de modo que o conteúdo do arquivo seja o seguinte
<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>
  • Para C# .NET use a seguinte opção
todo:image_alt_text
  • Para VB .NET use a seguinte opção
todo:image_alt_text   todo:image_alt_text
todo:image_alt_text
  1. Execute o código e então observe a pasta de depuração. O seguinte arquivo será gerado.
todo:image_alt_text