2011-01-23 17 views
10

Estoy buscando una forma rápida o una biblioteca para comprobar una bandeja de entrada de hotmail utilizando HTTP. Tenga en cuenta que debe ser a través de Http y no pop3 o Imap (que no es compatible de todos modos). Lo necesito porque necesito conectarme a varias cuentas usando Http Proxies que no es compatible con las sesiones de pop3. Cualquier tipo de ayuda se agradece.C# comprobación de bandeja de entrada de Hotmail a través de HTTP

, gracias amigos =]

Respuesta

4

Creo que actualmente no es posible sin simular lo que el usuario haría dentro de un navegador. La forma más fácil de hacerlo es utilizar las capacidades "VS2010 Test Professional" o "VS2010 Ultimate" para grabar una sesión de navegación y generar código C# que hace lo mismo. Ver here, que trabajó para mí bastante bien fuera de la caja y genera código legible puede volver a usar en sus aplicaciones

BWT, los parece ser el API existentes:
- pop3.live.com , puerto 995 (se requiere SSL) para los correos entrantes;
- smtp.live.com, puerto 25 (sin SSL) o 587 (SSL) para enviar correos electrónicos;
- Windows Live Messenger Contacts API (legacy) permite el acceso a los contactos;
- Windows Live Messenger Connect permite hacer todo lo que el mensajero puede hacer;
- Windows Live Messenger Mailbox properties permiten ver la cantidad de correos y correos no leídos;

1

No estoy seguro si esto puede ayudar:

Hotmail using C#

+1

Esto tiene de 3 a 4 años fuera de fecha. Funcionó una vez, pero ya no funciona. –

+0

¿Por qué votar su respuesta para eso? – Zesty

+0

No funciona, por lo que probablemente haya un argumento a favor, sin embargo, si alguien quiere volver a ponerlo en 0, ¡no me importa! –

2

de tener que anular-eningeer el protocolo DeltaSync. Utilice la versión de 32 bits de MS-Mail y oSpy para capturar los paquetes SSL + Wireshark para capturar los paquetes http.

+0

¿Por qué complicar las cosas? Usa Google Chrome o Firefox + Firebug y echa un vistazo a las solicitudes/respuestas. – jgauffin

+0

@jgauffin: Eso será más complicado que usar oSpy + Wireshark. Y no será fácil, y sin duda llevará mucho tiempo. –

+0

Eso realmente complica las cosas. Mi peor esperanza es usar el violín y simular las solicitudes enviadas y luego analizar la respuesta con regex o htmlAgilityPack, pero eso lleva mucho tiempo y no es lo que estoy buscando. – deadlock

3

No hay forma oficial de leer Hotmail usando HTTP (S). Antes había DAV, pero esto ha sido eliminado, aquí es la declaración oficial:

Continuing DAV protocol retirement

Windows Mail & Outlook Connector ambos utilizan un protocolo llamado DeltaSync que no está documentado.

Algunas personas están tratando de técnicas de ingeniería inversa como este tipo: DeltaSync HU01 decompression code released, pero no hay ninguna garantía de asolutely esto no evolucionará - de hecho, puede estar seguro de que esto se evolucionar :-)

Por lo tanto, está mejor con POP3: Hotmail and MSN Accounts POP3/SMTP Access

3

Puede usar un control WebBrowser oculto. Y luego use el código fuente para capturar los títulos del correo electrónico y todo. En that answer explico cómo hacerlo.

Creo que es la manera más fácil de hacerlo.

+0

Ratas, solo iba a sugerir eso. – MusiGenesis

1

Intenta mirar WaTiN. Es un marco que usamos para realizar pruebas en nuestra aplicación web, imitando la interacción del usuario. También utilizamos para comunicarnos con Mailinator para verificar correos electrónicos falsos.

Estoy bastante seguro de que WaTiN puede ser de ayuda aquí, pero el inconveniente es que realmente abrirá un navegador específico, por lo que si puedes vivir con eso, es el camino a seguir.

También podría hacer webrequests y proporcionar los datos de publicación correctos para realizar un inicio de sesión, realmente no es tan difícil. Luego, simplemente analiza el contenido de la respuesta para verificar si hay correo electrónico.

Antes solía utilizar el espacio de nombres y los clientes de correo de System.Net.mail para conectarse directamente a los servidores de hotmail, pero no estoy seguro de si hotmail todavía lo permite.

2

Esto probablemente no es lo que está buscando, pero podría tunelizar una conexión pop3 a través de http. El inconveniente es que necesitarías un servidor en algún lugar fuera de tu lan al que te puedas conectar. Aquí hay un ejemplo: Pop3 over Http

Cuestiones relacionadas