Desenvolver um NetLogic para enviar e-mails

Este NetLogic envia e-mails para um endereço predefinido.
  1. Crie o NetLogic:
    1. Na
      Exibição de projeto
      , clique com o botão direito do mouse em
      NetLogic
      e selecione
      Novo
      NetLogic em tempo de execução
      .
    2. Passe o mouse sobre o NetLogic, selecione
      Edit
      e digite
      EmailSender
    3. Clique duas vezes no NetLogic.
      O editor de código externo é aberto.
  2. No editor de código, execute estas ações:
    1. Substitua o código existente pelo seguinte código:
      using System; using System.Net.Mail; using System.Net; using UAManagedCore; using FTOptix.NetLogic; public class EmailSender : BaseNetLogic { [ExportMethod] public void SendEmail(string replyToAddress, string mailSubject, string mailBody) { if (string.IsNullOrEmpty(replyToAddress) || mailSubject == null || mailBody == null) { Log.Error("EmailSender", "Invalid values for one or more parameters."); return; } var fromAddress = new MailAddress("mail@domain.com", "Name"); // Email Sender var toAddress = new MailAddress("mail@domain.com", "Name"); // Email Receiver // Password for SMTP server authentication if necessary const string fromPassword = "Insert your password here."; var smtpClient = new SmtpClient { // Fill the following lines with your SMTP server info Host = "smtp.domain.com", Port = 587, EnableSsl = true, // Set to true if the server requires SSL. DeliveryMethod = SmtpDeliveryMethod.Network, UseDefaultCredentials = false, Credentials = new NetworkCredential(fromAddress.Address, fromPassword) }; var message = new MailMessage() { // Create the message. Subject = mailSubject, Body = mailBody }; // Specify the sender message.From = fromAddress; // Recipient emails // The MailMessage.To property is a collection of emails, so you can add different recipients using: // message.To.Add(new MailAddress(...)); message.To.Add(toAddress); // Add reply-to address message.ReplyToList.Add(replyToAddress); try { // Send email message smtpClient.Send(message); Log.Info("Message " + mailSubject + " sent successfully."); } catch (Exception ex) { // Insert here actions to be performed in case of an error when sending an email Log.Error("Error while sending message " + mailSubject + ", please try again. " + ex.Message); } } }
      DICA: No exemplo, o e-mail inserido em tempo de execução é adicionado à propriedade
      ReplyToList
      . Essa propriedade contém uma lista de endereços que serão adicionados automaticamente como destinatários no caso de uma resposta. O método
      Send
      do
      SmtpClient
      é encapsulado em uma construção try/catch para tratar possíveis exceções.
    2. Altere o valor da variável
      var fromAddress
      para refletir o e-mail do remetente.
    3. Altere o valor da variável
      var toAddress
      para refletir o e-mail do destinatário.
      DICA: No exemplo, o e-mail é enviado para um único destinatário, mas você pode adicionar mais destinatários usando a propriedade
      To
      da classe
      MailMessage
      . Consulte MailMessage.To Property (System.Net.Mail) | Microsoft Docs
      Por exemplo:
      mailMessage.To.Add(new MailAddress(...)
    4. Se necessário, forneça a senha para a conta do e-mail alterando
      const string fromPassword = "Insert your password here.";
      IMPORTANTE: Se você usar uma autenticação de dois fatores para proteger a conta de e-mail, deverá gerar uma senha para o aplicativo.
    5. Se necessário, no valor da variável
      var smtpClient
      , configure os dados das
      Credentials
      .
  3. Salve o código.
Dê sua opinião
Tem dúvidas ou comentários sobre esta documentação? Por favor, envie seu comentário aqui.