Recibir correo electrónico en C#

Quiero hacer un programa con C# que pueda recibir mensajes. El que he hecho es enviar mensajes o email y funciona bien tanto en modo consola como en Windows Form.

Lo que no encuentro códigos que sirva para recibir email.

Uso una cuenta gmail. Hay que tener claro activar dicha seguridad o no podrás enviar o recibir email con tus propios programas.

Si le pican la curiosidad algunos visitantes, les entrego el código fuente en modo consola para que se envien mensajes así mismos y prueben. Recuerda que quier saber del POP3 para recibir mensajes a ver quien sabe hacer y que funcione.

Acceso de aplicaciones poco seguras. https://myaccount.google.com/lesssecureapps

introducir la descripción de la imagen aquí

Código fuente C#:

// Activar / desactivar Acceso de aplicaciones poco seguras en Google. 

// https://myaccount.google.com/lesssecureapps

using System; using System.Net.Mail; using System.Text; using System.Net;

namespace Enviar_e_mail_Consola_03_cs { class Program { static void Main(string[] args) { string usuario, contraseña, destinatario, asunto, mensaje;

        // Título de la ventana.         Console.Title = "Enviar e-mail con Consola C#";          // Tamaño ventana consola.         Console.WindowWidth = 80; // X. Ancho.         Console.WindowHeight = 40; // Y. Alto.          Console.WriteLine("\t\t----------------------------------------");         Console.WriteLine("\t\t\tEnviar Correo Electrónico");         Console.WriteLine("\t\t----------------------------------------");           Console.WriteLine("\n");         Console.Write("\t\tIngresar correo electrónico o mensaje: ");         usuario = Console.ReadLine();         Console.Write("\t\tIntroducir contraseña: ");         contraseña = leerPassword();           Console.Write("\t\tDestinatario: ");         destinatario = Console.ReadLine();         Console.Write("\t\tAsunto: ");         asunto = Console.ReadLine();         Console.Write("\t\tMensaje: ");         mensaje = Console.ReadLine();          MailMessage correo = new MailMessage(usuario, destinatario, asunto, mensaje);          SmtpClient servidor = new SmtpClient("smtp.gmail.com");         servidor.Port = 587;         NetworkCredential credenciales = new NetworkCredential(usuario, contraseña);         servidor.Credentials = credenciales;         servidor.EnableSsl = true;          try         {             Console.WriteLine("Enviando correo...");             servidor.Send(correo);             Console.WriteLine("\t\tCorreo enviado satisfactoriamente.");             correo.Dispose();             Console.ReadKey();         }         catch (Exception ex)         {             Console.WriteLine(ex.Message);             Console.WriteLine("\t\tNo se ha enviado el correo.");             Console.ReadKey();         }     }      // A la hora de introducir la contraseña, se sustituye por asterístos (*) en pantalla.     public static string leerPassword()     {         ConsoleKeyInfo cki;         StringBuilder sb = new StringBuilder();          do         {             cki = Console.ReadKey(true);             if (cki.Key != ConsoleKey.Enter)             {                 sb.Append(cki.KeyChar);                 Console.Write("*");             }              else                 break;          } while (true);         Console.WriteLine();         return sb.ToString();     } } 

}

Saludos.