Desarrollar NetLogic para enviar correos electrónicos

Este NetLogic envía correos electrónicos a una dirección predefinida.
  1. Cree NetLogic:
    1. En
      Vista del proyecto
      , haga clic con el botón derecho en
      NetLogic
      y seleccione
      Nuevo
      NetLogic de tiempo de ejecución
      .
    2. Pase el cursor por encima de NetLogic, seleccione
      Edit
      y escriba
      EmailSender
    3. Haga doble clic en NetLogic.
      Se abre el editor de código externo.
  2. En el editor de código, haga lo siguiente:
    1. Reemplace el código existente por el siguiente 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); } } }
      CONSEJO: En el ejemplo, el correo electrónico introducido en tiempo de ejecución se agrega a la propiedad
      ReplyToList
      . Esta propiedad contiene una lista de direcciones que se agregarán automáticamente como destinatarios en caso de una respuesta. El método
      Send
      de
      SmtpClient
      se encapsula dentro de una construcción try/catch para gestionar posibles excepciones.
    2. Cambie el valor de la variable
      var fromAddress
      para reflejar el correo electrónico del remitente.
    3. Cambie el valor de la variable
      var toAddress
      para reflejar el correo electrónico de destinatario.
      CONSEJO: En el ejemplo, el correo electrónico se envía a un solo destinatario, pero puede agregar más destinatarios con la propiedad
      To
      de la clase
      MailMessage
      . Consulte Propiedad MailMessage.To (System.Net.Mail) | Documentación de Microsoft
      Por ejemplo:
      mailMessage.To.Add(new MailAddress(...)
    4. Si es necesario, proporcione la contraseña a la cuenta de correo electrónico. Para ello, modifique
      const string fromPassword = "Insert your password here.";
      IMPORTANTE: Si utiliza una autenticación de dos factores para proteger su cuenta de correo electrónico, deberá generar una contraseña para la aplicación.
    5. En caso necesario, en el valor de la variable
      var smtpClient
      , configure los datos de
      Credentials
      .
  3. Guarde el código.
Entregue su opinión
¿Tiene dudas o comentarios acerca de esta documentación? Por favor deje su opinión aquí.