Desarrollar NetLogic para enviar correos electrónicos
Este NetLogic envía correos electrónicos a una dirección predefinida.
- Cree NetLogic:
- EnVista del proyecto, haga clic con el botón derecho enNetLogicy seleccione .
- Pase el cursor por encima de NetLogic, seleccione y escribaEmailSender
- Haga doble clic en NetLogic.Se abre el editor de código externo.
- En el editor de código, haga lo siguiente:
- 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 propiedadReplyToList. Esta propiedad contiene una lista de direcciones que se agregarán automáticamente como destinatarios en caso de una respuesta. El métodoSenddeSmtpClientse encapsula dentro de una construcción try/catch para gestionar posibles excepciones.
- Cambie el valor de la variablevar fromAddresspara reflejar el correo electrónico del remitente.
- Cambie el valor de la variablevar toAddresspara 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 propiedadTode la claseMailMessage. Consulte Propiedad MailMessage.To (System.Net.Mail) | Documentación de MicrosoftPor ejemplo:mailMessage.To.Add(new MailAddress(...)
- Si es necesario, proporcione la contraseña a la cuenta de correo electrónico. Para ello, modifiqueconst 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.
- En caso necesario, en el valor de la variablevar smtpClient, configure los datos deCredentials.
- Guarde el código.
Entregue su opinión