2010-03-01 1 views
8

Просто интересно, может ли кто-нибудь помочь мне с проблемой, с которой я столкнулся в Java.Java: Откройте почтовое приложение по умолчанию и создайте новую почту и заполните поля «Кому» и «Тема»

Есть ли функциональность внутри Java для создания раздела кода, который откроет приложение электронной почты по умолчанию на ПК пользователя? (Я думаю, почти как причудливая ссылка mailto ...)

Если есть - возможно ли заполнять поля, такие как поля To и Subject?

Thanks, Mike.

ответ

18

Desktop.mail (URI mailtoURI) - ваш друг!

Javadoc:

запускает почту окно почтового клиента по умолчанию пользователя сочиняет, заполняя поля сообщений, заданные электронной почта: URI.

E-mailto: URI может указывать поля сообщений, включая «to», «cc», «subject», «body» и т. Д. См. The mailto URL scheme (RFC 2368) для деталей спецификации mailto: URI.

Пример кода:

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

ли эту работу все время? Я пытался использовать awt.Desktop.getDesktop() раньше и время, когда он просто не работает - см. Также http://stackoverflow.com/questions/102325/not-supported-platforms-for-java-awt-desktop -getdesktop – blank

+0

Спасибо за вашу помощь sfussenegger! Вы сделали то, что звучало как сложная проблема (для меня) звучали тривиально. Приветствия. :) – Mike

+2

+1 для вуду – BalusC

Смежные вопросы