elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  ¿Cómo puedo leer el mensaje de un email y mostrarlo en la consola?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿Cómo puedo leer el mensaje de un email y mostrarlo en la consola?  (Leído 437 veces)
Meta


Desconectado Desconectado

Mensajes: 3.203



Ver Perfil WWW
¿Cómo puedo leer el mensaje de un email y mostrarlo en la consola?
« en: 11 Junio 2019, 01:23 »

Hola:

Me funciona el código, veo datos menos el que me interesa, precisamente no me sale el contenido del mensaje, es el que quiero que me muestre en pantalla.
El programa solo lee los últimos email nuevos.


(A veces tienes que actualizar varias veces tu navegador para que se muestre la captura).

Código C#:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using OpenPop.Pop3;
  4.  
  5. namespace Recibir_email_Consola_01
  6. {
  7.    class Program
  8.    {
  9.        static void Main(string[] args)
  10.        {
  11.            // Título de la ventana.
  12.            Console.Title = "Recibir e-mail con Consola C#";
  13.  
  14.            // Tamaño ventana consola.
  15.            Console.WindowWidth = 100; // X. Ancho.
  16.            Console.WindowHeight = 40; // Y. Alto.
  17.  
  18.            Console.WriteLine("\t\t----------------------------------------");
  19.            Console.WriteLine("\t\t\tRecibir Correo Electrónico");
  20.            Console.WriteLine("\t\t----------------------------------------");
  21.  
  22.            try
  23.            {
  24.                ConnectPop3 oC = new ConnectPop3();
  25.  
  26.                List<OpenPop.Mime.Message> lstMessages = oC.GetMessages();
  27.  
  28.  
  29.                if (lstMessages != null)
  30.                {
  31.  
  32.                    foreach (var oMessage in lstMessages)
  33.                    {
  34.                        Console.WriteLine(oMessage.Headers.Subject); // Asunto.
  35.                        Console.WriteLine(oMessage.Headers.From); // Email del que te envi&#243; el mensaje.
  36.                        Console.WriteLine(oMessage.Headers.ContentTransferEncoding); //out: SevenBit.
  37.                        Console.WriteLine(oMessage.Headers.ContentType);
  38.                        Console.WriteLine(oMessage.Headers.Date); // Fecha larga.
  39.                        Console.WriteLine(oMessage.Headers.DateSent); // Fecha corta.
  40.                        Console.WriteLine(oMessage.Headers.Importance); // Out: Normal.
  41.                        Console.WriteLine(oMessage.Headers.MimeVersion); // Versi&#243;n.
  42.                        Console.WriteLine(oMessage.Headers.MessageId);
  43.                    }
  44.                }
  45.                Console.ForegroundColor = ConsoleColor.Yellow; // Letras amarillas.
  46.                Console.WriteLine("FIN DEL PROGRAMA.");
  47.                Console.ReadKey(); // Pulse cualquier tecla para salir.
  48.            }
  49.  
  50.            catch (Exception e)
  51.            {
  52.                Console.WriteLine(e.ToString());
  53.            }
  54.        }
  55.    }
  56.  
  57.    public class ConnectPop3
  58.    {
  59.        public string email = "celltium@gmail.com";
  60.        public string contrase&#241;a = "g0923490xgh0945g450Xj4025g";
  61.        public int puerto = 995;
  62.        public bool usarSLL = true;
  63.        public string Hostame = "pop.gmail.com";
  64.  
  65.        public List<OpenPop.Mime.Message> GetMessages()
  66.        {
  67.            using (Pop3Client oClient = new Pop3Client())
  68.            {
  69.                oClient.Connect(Hostame, puerto, usarSLL);
  70.                oClient.Authenticate(email, contrase&#241;a);
  71.  
  72.                int messageCount = oClient.GetMessageCount();
  73.                List<OpenPop.Mime.Message> lstMesages = new List<OpenPop.Mime.Message>(messageCount);
  74.  
  75.                for (int i = messageCount; i > 0; i--)
  76.                {
  77.                    lstMesages.Add(oClient.GetMessage(i));
  78.                }
  79.  
  80.                return lstMesages;
  81.            }
  82.        }
  83.    }
  84. }
  85.  

Pensé que leer el mensaje es ete código pero veo que no.
Código
  1. Console.WriteLine(oMessage.Headers.MessageId);

http://rfinochi.github.io/pop3dotnet/

¿Cómo puedo ver el mensaje del email?

Saludos.


« Última modificación: 11 Junio 2019, 18:21 por Meta » En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Meta


Desconectado Desconectado

Mensajes: 3.203



Ver Perfil WWW
Re: ¿Cómo puedo leer el mensaje de un email y mostrarlo en la consola?
« Respuesta #1 en: 12 Junio 2019, 06:58 »

Hola:

Ya e funciona leer el POP3 del correo electrónico como puedes ver abajo, lee asunto y el mensaje de texto sin formato, de otra manera no lo lee.



El programa de abajo que funciona al completo, quiero modificar algunas cosa que no se como se hace, por ejemplo, si me llega mensajes nuevos, me lee todos los mensajes nuevos, solo quiero que me lea el último mensaje nuevo, solo un mensaje.

A parte de esto, C# no lee el último mensaje nuevo porque tiene que ser que vuelva a ejecutar el ejecutable.

¿Hay alguna manera de que el ejecutable lea en cada cierto tiempo la entrada del email?

Por ejemplo, en cada 5 minutos se pone a leer la bandeja de entrada si hay algún mensaje y lo muestra en pantalla, mientas el mensaje viejo que nunca se borra del servidor, solo en pantalla de la consola C# haga esto, Console.Clear(); // Limpiar pantalla y vuelva a mostrar mensaje nuevo.

Código fuente C#:
Código
  1. using System;
  2. using System.Collections.Generic;
  3. using OpenPop.Pop3;
  4.  
  5. using System.Net.Mime;
  6.  
  7. namespace Recibir_email_Consola_01
  8. {
  9.    class Program
  10.    {
  11.        static void Main(string[] args)
  12.        {
  13.            // Título de la ventana.
  14.            Console.Title = "Recibir e-mail con Consola C#";
  15.  
  16.            // Tamaño ventana consola.
  17.            Console.WindowWidth = 80; // X. Ancho.
  18.            Console.WindowHeight = 40; // Y. Alto.
  19.  
  20.            // Cursor invisible.
  21.            Console.CursorVisible = false;
  22.  
  23.            // Título del programa.
  24.            Console.WriteLine("\t\t----------------------------------------");
  25.            Console.WriteLine("\t\t\tRecibir Correo Electrónico");
  26.            Console.WriteLine("\t\t----------------------------------------");
  27.            Console.WriteLine();
  28.  
  29.            try
  30.            {
  31.                ConnectPop3 oC = new ConnectPop3();
  32.  
  33.                List<OpenPop.Mime.Message> lstMessages = oC.GetMessages();
  34.  
  35.  
  36.                if (lstMessages != null)
  37.                {
  38.  
  39.                    foreach (var oMessage in lstMessages)
  40.                    {
  41.                        Console.ForegroundColor = ConsoleColor.White;
  42.                        Console.WriteLine("ASUNTO: ");
  43.                        Console.ForegroundColor = ConsoleColor.Gray;
  44.                        Console.WriteLine(oMessage.Headers.Subject + "\n"); // Asunto.
  45.  
  46.                        //Console.WriteLine(oMessage.Headers.From); // Email del que te envió el mensaje.
  47.                        //Console.WriteLine(oMessage.Headers.ContentTransferEncoding); //out: SevenBit.
  48.                        //Console.WriteLine(oMessage.Headers.ContentType);
  49.                        //Console.WriteLine(oMessage.Headers.Date); // Fecha larga.
  50.                        //Console.WriteLine(oMessage.Headers.DateSent); // Fecha corta.
  51.                        //Console.WriteLine(oMessage.Headers.Importance); // Out: Normal.
  52.                        //Console.WriteLine(oMessage.Headers.MimeVersion); // Versión.
  53.                        //Console.WriteLine();
  54.  
  55.                        Console.ForegroundColor = ConsoleColor.White;
  56.                        Console.WriteLine("MENSAJE: "); // Aquí se pone código del mensaje que no se cual es.
  57.                        Console.ForegroundColor = ConsoleColor.Gray;
  58.                        Console.WriteLine(oMessage.MessagePart.GetBodyAsText()); // Mensaje.
  59.                    }
  60.                }
  61.                Console.ForegroundColor = ConsoleColor.Yellow; // Letras amarillas.
  62.                Console.WriteLine();
  63.                Console.WriteLine("FIN DEL PROGRAMA.");
  64.                Console.ReadKey(); // Pulse cualquier tecla para salir.
  65.            }
  66.  
  67.            catch (Exception ex)
  68.            {
  69.                Console.ForegroundColor = ConsoleColor.Red;
  70.                Console.WriteLine();
  71.                Console.WriteLine(ex);
  72.                Console.ReadKey();
  73.            }
  74.        }
  75.    }
  76.  
  77.    public class ConnectPop3
  78.    {
  79.        public string email = "celltium@gmail.com";
  80.        public string contraseña = "g0923490xgh0945g450Xj4025g"; // Ficcicio.
  81.        public int puerto = 995;
  82.        public bool usarSLL = true;
  83.        public string Hostame = "pop.gmail.com";
  84.  
  85.        public List<OpenPop.Mime.Message> GetMessages()
  86.        {
  87.            using (Pop3Client oClient = new Pop3Client())
  88.            {
  89.                oClient.Connect(Hostame, puerto, usarSLL);
  90.                oClient.Authenticate(email, contraseña);
  91.  
  92.                int messageCount = oClient.GetMessageCount();
  93.                List<OpenPop.Mime.Message> lstMessages = new List<OpenPop.Mime.Message>(messageCount);
  94.  
  95.                for (int i = messageCount; i > 0; i--)
  96.                {
  97.                    lstMessages.Add(oClient.GetMessage(i));
  98.                }
  99.  
  100.                return lstMessages;
  101.            }
  102.        }
  103.    }
  104. }

Les recuerdo que solo admite mensaje texto sin formato para que lo lea.

Datos de interés.

https://github.com/foens/hpop

http://hdeleon.net/realizar-una-conexion-el-correo-para-ver-los-mails-con-c-net-gmail-pop3-openpop-net/

Un cordial saludos.


En línea

Tutoriales Electrónica y PIC: http://electronica-pic.blogspot.com/
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Enviar mensaje a la consola « 1 2 »
.NET (C#, VB.NET, ASP)
CH4ØZ 18 7,224 Último mensaje 9 Agosto 2010, 05:15
por CH4ØZ
Problema con mensaje por consola
.NET (C#, VB.NET, ASP)
apache_scrc 4 2,676 Último mensaje 16 Septiembre 2010, 01:51
por Lunfardo
Leer TXT y mostrarlo
Desarrollo Web
sebah97 2 1,610 Último mensaje 2 Marzo 2013, 05:19
por sebah97
Mensaje personalizado modo consola en c#
.NET (C#, VB.NET, ASP)
DanielPy 2 1,315 Último mensaje 18 Julio 2013, 17:58
por DanielPy
Leer esta dll datos de variables y mostrarlo.
.NET (C#, VB.NET, ASP)
Meta 2 1,403 Último mensaje 18 Marzo 2014, 15:58
por Meta
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines