mailto in Java?

4

我正在尝试在我的Eclipse Java项目中设置超链接。当有人点击按钮时,它应该打开一个电子邮件客户端并显示给定的电子邮件地址。是否可以使用java.awt.Desktop实现它?

2个回答

8

可以使用 desktop.mail() 实现。

Desktop desktop = Desktop.getDesktop();
String message = "mailto:dummy@domain.com?subject=First%20Email";
URI uri = URI.create(message);
desktop.mail(uri);

关于mailto URI,您需要自己创建它。

mailto: URI 可以指定邮件字段,包括 "to","cc","subject","body" 等等。有关详细信息,请参见 The mailto URL scheme (RFC 2368) 中的 mailto: URI 规范。


Ran Rag,我刚回到家就试了一下。我写了:Desktop desktop = Desktop.getDesktop(); String message = "mailto:dummy@domain.com?subject=First%20Email"; URI uri = URI.create(message); desktop.mail(uri);并将电子邮件ID替换为现有的ID,但是出现了一个错误消息,下划线标记URI.create,说URI.create无法解析为类型? - user1210061

2
这段文字的意思是:“java.awt.Desktop.mail(URI mailtoURI) 有什么问题?”
“编辑:关于使用方法:”
   Desktop desktop = getDesktop(); 
   desktop.mail(new URI("mailto:name@hotmail.com"));

你需要构造一个URI实例并将其传递给Destkop.mail
这里有一篇有用的维基文章,介绍如何构造mailto URI。

我可以这样写吗:Desktop desktop = null; desktop = getDesktop(); desktop.browse(new URI("name@hotmail.com")); - user1210061
@PitaSivam:它不会发送电子邮件给用户。你需要使用 Desktop.mail - RanRag
不,最好使用desktop.mail(),因为它是专门用于此目的的。browse()会打开浏览器(然后可以打开电子邮件客户端)。这样需要两个步骤而不是一个。 - soulcheck
桌面 desktop = null; desktop = getDesktop(); desktop.mail(name@hotmail.com); 这样说对吗? - user1210061

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接