Como enviar correos con C# y Gmail

Share

Estas en un proyecto con c# y necesitas enviar correos electrónicos? Hoy te explicaremos paso a paso como enviar correos con c# y Gmail conectandonos desde c# a una cuenta de correo exitente en Gmail de Google, te mostramos codigo fuente mediante un práctico ejemplo.

Muchas veces dentro de nuestros proyectos tenemos la necesidad de enviar correos.

Pero, ¿Cómo enviar correos desde una aplicación en c#?

Fácil! Solamente sigue este tutorial para enviar correos con c# y gmail mirando un poco el código.

Hace poco te mostramos como exportar la información de un datagridview a excel de manera bastante fácil.

El ejemplo de hoy lo es todavía aún más fácil!

Para hacer las cosas un poco más fácil crearemos una clase llamada EnviarEmail donde realizaremos la configuración básica.

Crearemos un objeto SmtpClient y otro MailMessage, además de variables con información de nuestro usuario, contraseña, servidor y puerto.

public class EnviarEmail
{
SmtpClient cliente;
MailMessage mm;

    String usuario;
    String contraseña;
    String servidor;
    int puerto;

    const String cuerpoHtml1 = "...";
    const String cuerpoHtml2 = "...";

    public EnviarEmail()
    {
        usuario = "tucuenta@gmail.com";
        contraseña = "password";
        servidor = "smtp.gmail.com";
        puerto = 587;

        cliente = new SmtpClient();
        cliente.Port = puerto;
        cliente.Host = servidor;
        cliente.EnableSsl = true;
        cliente.Timeout = 10000;
        cliente.DeliveryMethod = SmtpDeliveryMethod.Network;
        cliente.UseDefaultCredentials = false;
        cliente.Credentials = new System.Net.NetworkCredential(usuario, contraseña);

    }

    public Boolean enviarEmail(String destinatario, String asunto, String mensaje)
    {
        String cuerpoCompleto = "";

        cuerpoCompleto = cuerpoHtml1 + "<br/><br/><p>" + mensaje + "</p><br/><br/>" + cuerpoHtml2;
        mm = new MailMessage(usuario, destinatario, asunto, cuerpoCompleto);
        mm.IsBodyHtml = true;
        mm.BodyEncoding = UTF8Encoding.UTF8;
        mm.DeliveryNotificationOptions = DeliveryNotificationOptions.OnFailure;

        cliente.Send(mm);


        return true;
    }
}

En el constructor de la clase realizamos algunas configuración básicas y necesarias para conectar a Gmail.

Asegurate de cambiar el usuario y contraseña de la cuenta a la que queremos conectar para enviar el correo.

El servidor y puerto es el indicado para realizar la conexión a Gmail.

Posteriormente mediante la función enviarEmail completamos el correo con el asunto, destinatario y mensaje.

Cabe destacar que estamos enviando un mensaje con formato HTML en codificación UTF8.

Por último enviamos el correo.

Podrás notar que el mensaje lo metemos dentro de dos variables (cuerpoHtml1  y cuerpoHtml2) que yo utilizo para incluir codigo html y darle un formato bonito al correo.

Ahora para hacer uso de esta funcionalidad simplemente en cualquier clase creamos una instancia de nuestra clase, inicializamos y accedemos a la función enviarEmail.

1public static EnviarEmail enviarEmail;
12// Inicializamos el objeto de envio de correosenviarEmail = new EnviarEmail();
1enviarEmail.enviarEmail(«destinatario», «Asunto», msj);

Como puedes ver la funcionalidad de enviar correos con c# y Gmail es bastante fácil de implementar.

Si este codigo te fue de utilidad no olvides compartirlo en tus redes sociales y dejarnos un comentario abajo con cualquier duda al respecto que tengas.

Pablo J.

Desarrollador gráfico y web, con ganas de trabajar y aprender todo lo posible de este campo tan variado. Trato de ser creativo en la vida laboral como personal. Amante de la buena lectura, el cine con sentido e inteligente.

You may also like...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *