Me gustaría alentar a nuestros usuarios de nuestra aplicación RCP a enviar los detalles del problema a nuestro departamento de soporte. Con este fin, agregué un widget de "Contacto de soporte" a nuestro diálogo de error estándar.Cómo envío un archivo adjunto de correo electrónico utilizando el cliente designado, programáticamente desde Java
He logrado usar encabezados de URI para enviar una stacktrace usando la llamada JDIC de Java 6: Desktop.getDesktop().mail(java.net.URI)
. Esto activará el cliente de correo del usuario, listo para que ellos agreguen sus comentarios, y presionar enviar.
Me gusta encender el cliente de correo electrónico, porque es a lo que el usuario está acostumbrado, dice apoyar mucho sobre el usuario (sigs, detalles de contacto, etc.) y realmente no quiero to ship with Java Mail.
Lo que me gustaría hacer es adjuntar el archivo de registro y stacktrace como un archivo, por lo que no hay un requisito de longitud máxima y el usuario ve un bonito correo electrónico limpio y el departamento de soporte tiene mucha más información trabajar con.
¿Puedo hacer esto con el enfoque que estoy tomando? ¿O hay un mejor camino?
Editar: Estoy en un contexto OSGi, por lo que sería necesario agrupar JDIC. Si es posible, me gustaría enviar con el menor número posible de dependencias, y agrupar el JDIC para múltiples plataformas no suena divertido, especialmente para una característica tan pequeña.
JavaMail puede ser adecuado, pero por el hecho de que será en los escritorios de nuestros clientes corporativos. La configuración/descubrimiento de la configuración debería ser transparente, automática y confiable. Con respecto a JavaMail, la configuración parece ser solo manual. ¿Es este el caso?
La respuesta que más me gusta es usar el Desktop.open()
para un archivo * .eml. Desafortunadamente Outlook Express (en lugar de Outlook) abre los archivos eml. No tengo idea si esto es habitual o predeterminado para tener Windows configurado para abrir archivos EML como este. Es esto usual? ¿O hay otro formato basado en texto que a) es fácil de generar, b) se abre de manera predeterminada en el mismo cliente de correo electrónico que los usuarios ya estarían utilizando?
Esto es ingenioso. Desafortunadamente, en este cuadro de desarrollo, Outlook es el cliente de correo electrónico predeterminado, y Outlook Express es la aplicación predeterminada para los archivos eml. – jamesh