2

我编写了一个 Java 代码,以便如果按下按钮,默认电子邮件提供商将自动打开以发送电子邮件。是否有可能我可以自动将文件附加到电子邮件并为电子邮件设置主题?

这是到目前为止的代码:

        if(role.getValue().equals("1")) {
                try {
                    Desktop.getDesktop().browse(new URI("mailto:username@domain.com?subject=New_Profile&body=see attachment&attachment="PVS_XML.xml""));

                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                } catch (URISyntaxException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }       
        }

上面的代码由于某种原因不起作用:它在整个 mailto 方法下划线说:语法错误,插入“;” 完成 BlockStatements。

任何想法为什么?

4

3 回答 3

2

添加“mailto:username@domain.com”链接。这应该会触发您的浏览器启动标准邮件程序。

这与 Wicket 无关。这是标准的浏览器行为。

于 2012-07-11T09:36:03.110 回答
2
'mailto:email@email.com?subject=Software&body=see attachment&attachment="C:/abc/def/qwertyp.zip"'

尝试上面它应该工作

编辑1:

不确定它是否可以在桌面上工作,但作为网页的链接

从java作为字符串:

"'mailto:username@domain.com?subject=New_Profile&body=see attachment&attachment=\"PVS_XML.xml\"";

编辑2:

Desktop desktop = Desktop.getDesktop();
        String message = "mailto:username@domain.com?subject=New_Profile&body=seeAttachment&attachment=c:/Update8.txt";
        URI uri = URI.create(message);
        desktop.mail(uri);

还发现附件部分未在 Outlook 中实现,因此它不支持使用 mailto 的附件。它依赖于邮件客户端来实现解析附件参数。

于 2012-07-11T10:08:53.630 回答
0

Desktop不会工作,因为它在服务器上运行,而不是在客户端上。不过,它可能会在您的服务器中打开一个 Outlook 窗口:)

mailto:正如其他人所说,您应该使用链接。不过,用户必须手动附加文件。浏览器会出于安全考虑而强制执行此操作。

于 2012-07-11T10:58:23.430 回答