top of page

ENVIAR UN E-MAIL CON C#

Código simple para enviar un correo electrónico desde una aplicación de c#, es importante que tomen en cuenta el servidor SMTP que utilizaran para realizar los envíos, para este caso se implementa una cuenta de Gmail.

El código es el siguiente.

using System;
using System.Net.Mail;
using System.Net.Mime;
using System.Net;

namespace ResumenDeMacros

{

    class EnviaEmail

    {

    static public string EnviarEmail(string nombreCliente, string emailCliente, string mensajeCliente, string telCliente = null)

        {

            string para = "emmanuel@hotmail.com";
            string desde = "snake.test@gmail.com";
            string cuerpo = $"Mensaje recibido de parte de: {nombreCliente}  ";
            string elhost = "smtp.gmail.com";
            string myAttachment = @"C:\Documents\SKETCH UP CUAUHTEMOC.xlsx";
            string asunto = $"Mensaje recibido de parte de: {nombreCliente}";

            cuerpo = $"<h3>Mensaje recibido de parte de: </h3>";
            cuerpo += $"<p>{nombreCliente} </p>";
            cuerpo += $"<p>{mensajeCliente}</p>";
            cuerpo += $"<p><strong>Telefono: </strong>{telCliente}</p>";
            cuerpo += $"<p><strong>email: </strong>{emailCliente}</p>";


            MailMessage email = new MailMessage();

            //separar los correos para agregarlos individualmente

            String value = para;
            Char delimiter = ';';
            String[] substrings = value.Split(delimiter);

            //agregar e mail de los destinatarios uno por uno

            for (int i = 0; i < substrings.Length; i++)
            {
                email.To.Add(new MailAddress(substrings[i]));
            }

            email.From = new MailAddress(desde);
            email.Subject = asunto;
            email.Body = cuerpo;
            email.IsBodyHtml = true;
            email.Priority = MailPriority.Normal;

            //agregar un archivo adjunto

            Attachment data = new Attachment(myAttachment, MediaTypeNames.Application.Octet);

            email.Attachments.Add(data);

            SmtpClient smtp = new SmtpClient();
          
            smtp.UseDefaultCredentials = false;
            smtp.Host = elhost;
            smtp.Port = 587;
            smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
            smtp.Credentials = new NetworkCredential(desde, "mypw");
            smtp.EnableSsl = true;
            string output = null;

            try
            {
                smtp.Send(email);
                email.Dispose();
                output = "Correo electrónico fue enviado satisfactoriamente.";

            }

            catch (Exception ex)
            {
                output = "Error enviando correo electrónico: " + ex.Message;

            }

            return output;

        }
        

    }

}

bottom of page