2009-06-09 25 views
5

Lo que hago ahora con Outlook:Cómo utilizar Delphi para obtener el texto del mensaje de correo electrónico de Thunderbird

Recibo pedidos por correo electrónico de los productos. Selecciono uno o varios correos electrónicos en Outlook (un solo pedido puede tener varios correos electrónicos asociados) y luego cambio a mi programa Delphi OrderManager y hago clic en "Importar". Utiliza la interfaz de automatización COM de Outlook para leer el texto de cada mensaje, analiza y procesa cada uno.

La pregunta es, ¿puedo hacer esto usando Thunderbird en su lugar? Thunderbird tiene una interfaz COM? Debo buscar en Google las palabras clave incorrectas porque todavía no he encontrado nada.

Btw, tengo una versión de mi OrderManager que solo lee los correos electrónicos directamente de mi servidor de correo electrónico usando Indy, pero por varias razones me gustaría tratar de leerlos desde Firefox.

¡Cualquier sugerencia, enlaces a documentos o muestras de código serán muy apreciados!

Respuesta

5

Compruebe esto link hacia fuera.

Puede escribir un envoltorio C o C++ alrededor de XPCOM y luego usar ese envoltorio dentro de Delphi.

También hay una fuente abierta XPCOM wrapper written in Delphi. Es posible que desee verificar eso también. Gracias Stijn por señalar eso.

Espero que ayude.

+1

He estado usando este envoltorio XPCOM en Delphi: http://d-gecko.svn.sourceforge.net/viewvc/d-gecko/trunk/GeckoSDK/ –

+0

¡Gracias Pablo y Stijn! Eso es extremadamente útil. – MarkF

3

También puede analizar los archivos del buzón de Thunderbird usted mismo.

  • De %APPDATA%\Thunderbird\profiles.ini, leer donde se encuentra la carpeta de perfil (si hay más de un perfil, mirar a través de las secciones Profile .. Profilen para el que tiene el valor Default=1)
  • Cada subcarpeta de las subcarpetas Mail y/o ImapMail de la carpeta de perfil representa una cuenta (Mail contiene cuentas POP, ImapMail contiene cuentas IMAP);
  • Mire todos los archivos cuyos nombres no terminen con .dat o .msf, y cuyo contenido comienza con 'De' (F, r, o, m, y un espacio). Esos son el mailbox files.
  • Cada línea que comienza con 'From ' indica un nuevo mensaje. Use el X-Mozilla-Status header para averiguar si el mensaje sigue siendo válido o si ha sido marcado para borrarlo. (Puede usar el objeto COM CDO.Message para analizar el mensaje por usted, si lo desea).

Usted debe recursiva para cada subcarpeta que concluye el '.sbd', ya que contendrá las subcarpetas de ese buzón (Por ejemplo Inbox.sbd contendrá las carpetas de correo bajo la bandeja de entrada).

Sin embargo, tenga cuidado con los problemas de bloqueo de archivos.

Cuestiones relacionadas