0

私はDesktop.mail(URI)クラスの使用の初心者なので、プログラムからトリガーされたときにメールに追加、cc、および件名を付ける方法を探しています。

     String mailTo = "test@domain.com";
     String cc = "test2@domain.com";
     String subject = "firstEmail";
     String body = "the java message";

    URI uriMailTo = new URI(mailTo,cc,subject,body);
    Desktop desktop;
    desktop = Desktop.getDesktop();
    desktop.mail(uriMailTo);

OutlookからJavaプログラムにデータを返すなど、さらに多くの機能を探しているので、誰でもこのプロセスを学ぶためのチュートリアルを提案できますか。

助けてくれてありがとう!

4

1 に答える 1

4

Desktop.mail()関数は、ユーザーシステム(存在する場合)に存在する可能性のあるメールプログラムを起動するためのユーティリティメソッドです。(最終的に)送信される実際のメールメッセージを制御する機能は(非常に)制限されており、メールクライアントが表示されると、ほぼ完了です。つまり、実際に送信されたメッセージやメッセージが送信されたかどうかについてのフィードバックは得られません。成功しました。

このレベルの制御が必要な場合は、JavaMail APIを使用する必要があります。これは、必要と思われる多くのことを実行します。

デスクトップメールクライアントの使用に固執している場合は、RFC2368を参照することをお勧めします。mailtoURIに含めることができるすべてのフィールドについて説明します。したがって、メッセージを入力することはできますが、メッセージが正常に送信されたかどうかについてのフィードバックは得られません。

mailto:joe@example.com?cc=bob@example.com&body=hello+world

URIを構築するコード例(これは正しくありません):

final String mailURIStr = String.format("mailto:%s?subject=%s&cc=%s&body=%s",
    mailTo, subject, cc, body);
final URI mailURI = new URI(mailURIStr);

置換する場所は、必要に応じてURLエンコードする必要があります。

于 2013-01-17T12:41:29.877 に答える