2010-03-01 8 views
8

Solo me pregunto si alguien puede ayudarme con un problema que he encontrado en Java.Java: abra la aplicación de correo predeterminada y cree correo nuevo y rellene los campos Asunto y Asunto

¿Hay funcionalidad dentro de Java para producir una sección de código que se abrirá la aplicación de correo electrónico predeterminada en el PC de un usuario? (Supongo que casi como un capricho enlace de correo ...)

Si hay - ¿es posible rellenar los campos tales como los campos Para y Asunto?

Gracias, Mike.

Respuesta

18

Desktop.mail (URI mailtoURI) es su amigo!

Javadoc:

lanza el correo ventana del cliente de correo predeterminado de usuario componer, llenando los campos de los mensajes especificados por un mailto: URI.

Un mailto: URI puede especificar campos de mensaje que incluyen "a", "cc", "asunto", "cuerpo", etc. Consulte The mailto URL scheme (RFC 2368) para ver los detalles de la especificación del URI de mailto :.

Código Ejemplo:

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 ;)"); 
} 
+0

¿Esto funciona todo el tiempo? Intenté usar awt.Desktop.getDesktop() antes y, a veces, simplemente no funciona - ver también http://stackoverflow.com/questions/102325/not-supported-platforms-for-java-awt-desktop -getdesktop – blank

+0

Gracias por su ayuda sfussenegger! Hiciste que lo que parecía un problema difícil (para mí) sonara trivial. Aclamaciones. :) – Mike

+2

1 para el vudú – BalusC

Cuestiones relacionadas