Recibir e-mal con C#

Hola:

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

Imagen

Código fuente C#:
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# - www.elotrolado.net";

            // 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\n");
            Console.WriteLine("\t\t\twww.elotrolado.net");
            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();
        }
    }
}


El que quiera el código compilado sea en modo consola o ventanas de Windows, lo subo en zip para que lo descarguen

Saludos. ;)
Lo que tienes que hacer es recibir estos mensajes mediante alguna biblioteca, el flujo debiese ser usar tus credenciales de gmail y estar a la espera de estos mensajes (aquí defines el directorio donde quieres que se guarden, etc), es tedioso estar todo el tiempo ejecutando un programa para el recibo en este caso en GNU/Linux por ejemplo se utilizan los cron ya que estos pueden estar a la escucha bajo un determinado tiempo.

Buscando por gugel a la rápida encontré esto tal vez te sirva : https://stackoverflow.com/questions/194 ... pplication
Saludos
2 respuestas