Java: Open default mail application and create new mail and populate To and Subject fields
Asked Answered
G

1

10

Just wondering if anyone can help me with a problem I've come across in Java.

Is there functionality within Java to produce a section of code that will open the default email application on a user's PC? (I guess almost like a fancy mailto link...)

If there is - is it possible to populate fields such as the To and Subject fields?

Thanks, Mike.

Guay answered 1/3, 2010 at 17:58 Comment(0)
U
24

Desktop.mail(URI mailtoURI) is your friend!

Javadoc:

Launches the mail composing window of the user default mail client, filling the message fields specified by a mailto: URI.

A mailto: URI can specify message fields including "to", "cc", "subject", "body", etc. See The mailto URL scheme (RFC 2368) for the mailto: URI specification details.

Example Code:

Desktop desktop;
if (Desktop.isDesktopSupported() 
    && (desktop = Desktop.getDesktop()).isSupported(Desktop.Action.MAIL)) {
  URI mailto = new URI("mailto:[email protected]?subject=Hello%20World");
  desktop.mail(mailto);
} else {
  // TODO fallback to some Runtime.exec(..) voodoo?
  throw new RuntimeException("desktop doesn't support mailto; mail is dead anyway ;)");
}
Unfruitful answered 1/3, 2010 at 18:4 Comment(8)
Does this work all the time? I've tried to use awt.Desktop.getDesktop() before and soemtimes it just doesn't work - see also #102825Barksdale
Thanks for your help sfussenegger! You made what sounded a difficult problem (for me) sound trivial. Cheers. :)Guay
@Bedwyr I think the question you've linked says it all. I've updated the code to reflect this. It should work reliably for Windows though; All users of different OSs are certainly able to write a mail themselves ;)Unfruitful
@BalusC it's always good to have some other talents if coding doesn't suffice ;)Unfruitful
Luckily, there are voodoo practicers here where I live ;)Rushing
note to myself: "no downvotes for @Rushing - might know voodoo practicers"Unfruitful
Not working for Ubuntu 17 with Gnome 3.24 and Java 8Merri
On Windows, if there is no default mail program installed, a system dialog warning about that may show up below the Java application window and it may look like the application is not respondingCharentemaritime

© 2022 - 2024 — McMap. All rights reserved.