2012-09-05 98 views
8

Duplicar posibles:
Reading e-mails from Outlook with Python through MAPIPython leer mi buzón de correo electrónico Outlook y analizar los mensajes

soy completamente nuevo en Python y se han dado a la tarea de escribir un programa que se conecta a mi El buzón de Microsoft Outlook revisa todos los correos electrónicos y si el sujeto tiene una palabra determinada, los detalles de la hora del correo electrónico y el tema se guardarán en variables, así como el cuerpo del mensaje de correo electrónico se analizará y la información relevante se almacenará en variables. Entonces esta información se almacenará en un servidor externo/base de datos. También necesita poder monitorear cualquier correo electrónico nuevo que llegue a mi buzón de correo y repetir el ejercicio de verificar el asunto y tomar las medidas apropiadas.

He escrito exactamente el mismo tipo de programa en C# anteriormente usando la biblioteca de Interop, pero ahora necesito hacerlo en Python. Puedo descifrar los detalles esenciales leyendo los documentos del módulo más adelante, pero desde una perspectiva de alto nivel, qué módulos debo usar. He estado investigando y algunos módulos que se han mencionado incluyen correo electrónico, procmail e imaplib, pero ¿qué recomiendan los veteranos de Python para el tipo de proyecto que estoy superando?

¡Gracias de antemano por cualquier ayuda que pueda proporcionar!

+0

¿Por qué hacerlo en python si ya está hecho en C#? – Collin

+0

Haciendo el mismo programa para otro equipo, y este equipo quiere que se haga en Python porque no tienen mucho conocimiento de C#. También quieren modificar mi programa en el futuro para satisfacer sus (siempre cambiantes) necesidades, y sería más fácil para ellos construir en Python en lugar de C#. – user1650464

+2

Ver http://stackoverflow.com/questions/5077625/reading-e-mails-from-outlook-with-python-through-mapi – favoretti

Respuesta

9

En una compañía que trabajé, tenemos un buzón de sugerencias con sitios web que tenían material 'adulto' y un buzón de correo spam que debería ser bloqueado. Una vez que comencé a trabajar, estaba "a cargo" de estos trabajos "graciosos". Comprobando que había algo así como 2000 correos no leídos para bloquear y 4000 correos no deseados para bloquear también. Por supuesto que es una función para automatizar y busqué una buena solución para mí. Lo que hice:

[1] IMAP pitón Se utiliza para conectarse al servidor de Exchange [2] beatifulsoup Usado (Python) para analizar los valores href dentro del correo electrónico [3] Después de que enviar un correo electrónico 'agradecer' el usuario por su colaboración (muy importante)

Tres días después mi jefe me agradeció el gran esfuerzo que estaba haciendo respondiendo todos los correos electrónicos y que recibimos elogios. Porque AHORA estamos contestando a los clientes. (no soy el script)

Ok. ahora permite hacer un plan

  1. Comprobar el módulo IMAP pitón [1], y después de tomar un tutorial utilizando IMAP4 SSL [4]
  2. decidir lo que es mejor para su problema? Descargue los correos electrónicos (pop3) o búsquelos en el servidor (IMAP).
  3. comprobar si puede conectarse a través de la IMAP4 protocolos o POP3 Antes, el intercambio está libre de errores en esta parte por favor revise este informe de error demasiado [3]
  4. Ok, está seguro de que puede conectarse a través de IMAP4 o POP3, ahora ir a buscar uno mensaje y analizarlo con una hermosa sopa o lxml.(Mi caso me buscó href y 'mailto:')
  5. Haz un mensaje utilizando el campo 'De:' el correo electrónico por lo que es personal
  6. GANANCIAS

[1] google pitón IMAP

[2] google BeautifulSoup pitón

[3] http://support.microsoft.com/kb/296387

[4] http://yuji.wordpress.com/2011/06/22/python-imaplib-imap-example-with-gmail/

Lo siento, pero tuve que dar las URL de google debido a mi bajo puntaje.

Espero que esta respuesta le brinde algunos buenos consejos para su solución. Por supuesto, puede hacerlo más hax0r utilizando lxml, enviando los datos a una base de datos. Pero después de conectarse y comenzar a manipular, puede hacer cualquier cosa :)

Cuestiones relacionadas