2012-02-15 13 views
3

私はEclipse Javaプロジェクトでハイパーリンクを設定しようとしています。 ボタンをクリックすると、指定した のメールIDとともにメールクライアントが開きます。 java.awt.Desktopで実装することは可能ですか?mailto in Java?

答えて

5

はい、desktop.mail()

Desktop desktop = Desktop.getDesktop(); 
String message = "mailto:[email protected]?subject=First%20Email"; 
URI uri = URI.create(message); 
desktop.mail(uri); 

を使用して、あなたがそれを自分で作成する必要がmailto URIに関する可能です。

Aのmailto:URI等、 "に"、 "CC"、 "被験体"、 "本体" を含むメッセージフィールドを指定 MAILTOためThe mailto URL scheme (RFC 2368)見ることができる:URIの仕様の詳細を。

+0

多くのおかげで、私の質問に答えました:) –

+0

Ran Rag、私はちょうど家に帰って試してみました。私は書いた デスクトップデスクトップ= Desktop.getDesktop(); 文字列message = "mailto:[email protected]?subject =最初の%20Email"; URI uri = URI.create(message); desktop.mail(uri); 電子メールIDを既存のものに置き換え、URI.createをタイプに解決できないというエラーメッセージがURI.createの下にポップアップ表示されます。 –

+0

修正しました。ありがとうございます:) –

2

java.awt.Desktop.mail(URI mailtoURI)の何が問題なのですか?使用のためとして

編集:

Desktop desktop = getDesktop(); 
    desktop.mail(new URI("mailto:[email protected]")); 

あなたはURIインスタンスを構築し、Destkop.mailにそれを渡す必要があります。

ここにのURIを構築することについてのhelpful wiki articleがあります。

+0

書くことができます。 デスクトップdesktop = null; desktop = getDesktop(); desktop.browse(新しいURI( "[email protected]")); ? –

+0

@PitaSivam:それはユーザーに電子メールを送信しません。あなたは 'Desktop.mail'を使用しなければなりません。 – RanRag

+0

いいえ、それは' dektop.mail() 'を使ってください。 'browse()'はブラウザを開きます(これはメールクライアントを開くことができます)。 1つではなく2つのステップ。 – soulcheck