Creación de un borrador de correo electrónico de Outlook a través de la aplicación C #

Estoy en la fase de estimación de un proyecto y un requisito es que mi aplicación cree borradores de correos electrónicos (con archivos adjuntos) en MS-Outlook, que el usuario puede revisar y enviar. La aplicación está escrita en WPF.

Los clientes tendrán Outlook 2003 o Outlook 2007. Los archivos que deben adjuntarse ya existirán en el sistema de archivos cuando se generen los borradores.

He hecho algunas investigaciones iniciales, pero me gustaría obtener algunas opiniones de personas que tienen experiencia de primera mano.

Preguntas:

  1. ¿Qué herramienta usarías para lograr esto?
  2. ¿Se necesitará un código separado para Outlook 2003 y 2007?
  3. En general, utilizando las herramientas recomendadas, ¿es este un problema relativamente sencillo de resolver?

Gracias por cualquier idea.

preguntado el 22 de junio de 10 a las 13:06

Gracias por las respuestas. Votaremos una vez que decidamos una solución final. -

4 Respuestas

  1. La aplicación ac # wpf debería poder hacer el trabajo bien, solo necesita agregar las bibliotecas de Outlook en sus referencias y puede trabajar con Outlook directamente desde su aplicación WPF.
  2. Solo escribo para 2003, pero sé que 2003 y 2007 usan bibliotecas diferentes. Probablemente haya una forma inteligente de verificar qué versión de Outlook está siendo y usar los métodos de la biblioteca correcta, pero tomará algo de trabajo descubrirlo.
  3. Es relativamente sencillo, excepto por el mensaje de seguridad que recibirá si envía el correo electrónico. Pero supongo que si van a hacer que lo revisen primero, debería poder generar el correo electrónico, abrirlo en una ventana de Outlook para que lo revisen y hacer que hagan clic en el botón Enviar.

Respondido el 22 de junio de 10 a las 17:06

¿Sería capaz de usar WebDAV y luego simplemente crear el mensaje y colocarlo en la carpeta Borradores de los usuarios?

Básicamente, terminarás usando algo como este producto (o puede crear el suyo propio) para crear y guardar el mensaje. Es posible que pueda encontrar una solución de código abierto.

Respondido el 22 de junio de 10 a las 17:06

Creo que hay un par de herramientas que podrías usar aquí:

  1. Herramientas de Visual Studio para Office (VSTO)

    • control total sobre Outlook
    • la versión de Outlook puede importar
  2. Suponiendo que tiene Exchange, podría usar WebDAV, la metodología XML de Exchange.

    • la versión de Outlook no importaría aquí
  3. Utilice el incorporado mailto: .

    • muchos resultados por usar esto para incluir archivos adjuntos - Resultados de Google
    • funcionaría para aplicaciones de correo electrónico que no sean Outlook
    • esta probablemente sería la solución más rápida, pero el menor control sobre la salida

Respondido el 22 de junio de 10 a las 17:06

No veo cómo integrarías VSTO con una aplicación WPF. Puede crear un complemento de Outlook, pero no creo que sea eso lo que está buscando. - Eric

Tal vez no pueda integrarse en el proceso, pero quería mencionarlo porque proporciona el mayor control/capacidad. - davisoa

Un complemento de Outlook es probablemente una buena opción para esta aplicación. El conjunto de herramientas que necesita es Visual Studio Tools para Office (VSTO). Con la posible excepción del requisito de WPF, esto es bastante sencillo.

Tenga en cuenta que las API y las herramientas VSTO evolucionaron entre 2003 y 2007. Puede tener potencialmente una base de código única, pero deberá escribir para el mínimo común denominador, 2003.

2003 y 2007 también tienen ensamblajes de interoperabilidad primarios diferentes, los componentes que cierran la brecha entre su código .NET y las interfaces COM de código nativo que tiene Outlook. Esto puede ser un desafío cuando se trata de compilar e instalar su complemento. Si desea que su complemento instale los PIA, debe detectar la versión de Office e instalar la versión adecuada o, más comúnmente, simplemente compilar dos instaladores diferentes.

Nunca he intentado hacer WPF dentro de Outlook 2003. Puede haber algunos problemas, pero no lo sé.

Respondido el 22 de junio de 10 a las 17:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.