我想鼓励我们的RCP应用程序用户将问题详细信息发送给我们的支持部门。为此,我在标准错误对话框中添加了一个“联系人支持”小部件。如何使用指定客户端以编程方式从Java发送电子邮件附件
我已经设法使用URI头来发送堆栈跟踪使用Java 6的JDIC调用:Desktop.getDesktop().mail(java.net.URI)
。这将启动用户的邮件客户端,准备好添加他们的评论,并点击发送。
我喜欢启动电子邮件客户端,因为这是用户习惯的,它告诉支持一大堆关于用户(sigs,联系方式等),我真的不想要to ship with Java Mail。
我想要做的是将日志文件和堆栈跟踪附加为一个文件,所以没有最大长度要求,用户看到一个漂亮干净的电子邮件,支持部门有更多的信息跟...共事。
我可以用我采取的方法做到这一点吗?或者,还有更好的方法?
编辑: 我在OSGi上下文中,所以捆绑JDIC将是必要的。如果可能的话,我想尽可能少地依赖,并且将JDIC捆绑到多个平台听起来并不好玩,特别是对于这样一个小功能。
JavaMail可能是合适的,但事实上这将在我们企业客户的桌面上。 设置/发现配置必须是透明的,自动的和可靠的。关于JavaMail,配置似乎只是手动的。是这样吗?
我最喜欢的答案是使用Desktop.open()
作为* .eml文件。不幸的是Outlook Express(而不是Outlook)打开eml文件。我不知道这是通常还是默认情况下让Windows配置为打开这样的EML文件。这是通常的吗?或者是否有另一种基于文本的格式a)易于生成,b)默认情况下会在用户使用的同一电子邮件客户端中打开?
这是巧妙的。不幸的是,在这个开发箱中,Outlook是默认的电子邮件客户端,Outlook Express是eml文件的默认应用程序。 – jamesh 2008-09-17 12:53:25