Cómo Enviar Emails desde C# Usando Gmail en 2024: Una Guía Paso a Paso

Envío de Emails con C# y Gmail en 2024: Solución Actualizada 🚀

Si eres un programador, ya sea novato o con experiencia, y te has encontrado con el problema de enviar emails desde aplicaciones externas usando Gmail, este artículo es para ti. Google ha cambiado sus políticas de seguridad, y muchas de las soluciones antiguas ya no son viables. Aquí te explicaré cómo enviar emails desde una aplicación de consola en .NET usando C# y la configuración actual de Gmail para el 2024.

Configuración Inicial de tu Proyecto en C#

  • Crea una Aplicación de Consola en .NET: Empieza por configurar tu entorno de desarrollo creando una aplicación de consola básica en .NET. No necesitas nada complejo, solo un par de instrucciones para capturar la información necesaria: destinatario, asunto y mensaje.
  • Escribir el Código para Enviar Emails: Utiliza el siguiente esquema básico en tu código C# para preparar el envío de emails:
using System.Net.Mail;
using System.Net;
using System;

Console.ForegroundColor = ConsoleColor.Blue;
Console.WriteLine("Bienvenido al mejor programa para enviar emails!");
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("A quien quieres enviar un email?");
Console.ForegroundColor = ConsoleColor.White;
string to=Console.ReadLine();
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("Cual es el asunto?");
Console.ForegroundColor = ConsoleColor.White;
string emailSubject = Console.ReadLine();
Console.ForegroundColor = ConsoleColor.Yellow;
Console.WriteLine("Que quieres decirle?");
Console.ForegroundColor = ConsoleColor.White;
string emailBody=Console.ReadLine();

MailAddress addressFrom = new MailAddress("marowarthYT@gmail.com", "MarowarthYT");
MailAddress addressTo = new MailAddress(to);
MailMessage message = new MailMessage(addressFrom, addressTo);
message.Subject = emailSubject;
message.IsBodyHtml = true;
message.Body = emailBody;
SmtpClient client = new SmtpClient("smtp.gmail.com");
client.Port = 587;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
client.Credentials =
new NetworkCredential("email", "contraseña");
try
{
    client.Send(message);
}
catch (Exception ex)
{
    System.Diagnostics.Trace.TraceInformation("Exception caught in CreateTestMessage2(): {0}",
        ex.ToString());
    Console.WriteLine("Exception caught in CreateTestMessage2(): {0}",
        ex.ToString());
}

Configuración de Seguridad de Gmail para Envío de Emails

Dado que Google ha eliminado la opción de permitir aplicaciones menos seguras, debes seguir estos pasos para configurar tu cuenta de Gmail para el envío seguro de correos electrónicos:

  • Activar la Verificación en Dos Pasos: Ve a la configuración de tu cuenta de Gmail, accede a la sección de ‘Seguridad’ y activa la verificación en dos pasos. Esto añadirá una capa adicional de seguridad a tu cuenta.
  • Generar Contraseñas de Aplicación: Una vez activada la verificación en dos pasos, busca la opción de ‘Contraseñas de aplicación’ en la configuración de seguridad.
    • Selecciona ‘Crear’ y asigna un nombre a tu aplicación.
    • Google generará una contraseña específica para la aplicación que usarás en el campo de contraseña en tu código C#, en lugar de tu contraseña habitual de Gmail.

Probar y Verificar el Envío de Emails

Después de configurar todo, ejecuta tu aplicación y sigue las instrucciones en la consola para enviar un email. Si todo está configurado correctamente, el destinatario debería recibir el email sin problemas.

Conclusión y Buenas Prácticas

Enviar emails desde C# usando Gmail requiere seguir las prácticas de seguridad actuales de Google, pero una vez configurado, el proceso es directo y seguro. Este método no solo es esencial para mantener segura tu cuenta sino que también garantiza que tus aplicaciones permanezcan funcionales y eficientes en el tiempo.

Scroll al inicio