Pregunta

Tengo una aplicación web desarrollada con ASP.net y C# que se ejecuta en la intranet de mi empresa.Debido a que todos los usuarios de esta aplicación usan Microsoft Outlook sin excepción, me gustaría que la aplicación abra un mensaje de Outlook en el lado del cliente. Entiendo que Office está diseñado para ejecutarse en el escritorio y no desde un servidor; sin embargo, no tengo problemas para crear un documento de Word o Excel en el lado del cliente.

Tengo un código que crea una instancia del objeto de Outlook utilizando el espacio de nombres Microsoft.Office.Interop.Outlook y Outlook instalado en el servidor.Cuando intento ejecutar el código desde el servidor, recibo un mensaje de error de origen de DCOM que establece que "la configuración de permiso de defensa de la máquina no otorga permiso de activación local para la aplicación COM del servidor con CLSID {000C101C-0000-0000-C000-000000000046 } Para el usuario, este permiso de seguridad puede modificarse utilizando la herramienta administrativa de Servicios de Componentes ". He modificado los permisos utilizando la herramienta de servicios de componentes, pero aún así obtengo este mismo error.

¿Hay alguna manera de superar esto o es un ejercicio infructuoso porque Outlook no se puede abrir en el lado del cliente desde el código del lado del servidor?

Mailto no funcionará debido a la extrema longitud que pueden alcanzar los correos electrónicos.Además, el usuario que lo envía debe agregar algo atractivo al texto para los destinatarios.

¿Fue útil?

Solución

No puede abrir algo en el cliente desde el código del lado del servidor.Tendría que usar un script en la página para hacer lo que desea (o algo más del lado del cliente como ActiveX o .NET integrado o algo así)

A continuación se muestra un Javascript de ejemplo que invoca un elemento de correo de Outlook desde una página web.Esto podría inyectarse fácilmente en la página desde el código del lado del servidor para que se ejecute en el cliente.

http://www.codeproject.com/KB/aspnet/EmailUsingJavascript.aspx

Otros consejos

(pista:formato en su pregunta)

No entiendo qué hay de malo en un enlace mailto o en una página tipo formmail.

Si todos en la empresa usan Outlook, entonces simplemente usar un enlace "mailto" estándar siempre debería abrir Outlook.Parece que estás exagerando esto.

¿Quiere abrir un correo electrónico existente o crear uno nuevo?

Quizás no entiendo bien tu pregunta, pero puedes proporcionar un enlace como

mailto:recipient@email.tld?subject=This%20is%20the%20subject&body=¡Hola%20ahí!

Cuando el usuario hace clic en ese enlace, se abrirá un nuevo correo electrónico de Outlook y el destinatario es destinatario@email-tld, el asunto es "Este es el asunto" y el cuerpo es "¡Hola!".Todos estos campos ya están completados desde el enlace.

Tiraré esto porque me lo han pedido.

Mailto tiene muchas desventajas;principalmente tamaño.Dado que el remitente necesita formatear mucho el texto del correo electrónico, el código html generado puede ocupar mucho espacio y falla cuando se usa mailto.

Gracias por la sugerencia.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top