0

データベースに一連の連絡先があります。アプリケーションでクライアント用のカスタム メール テンプレートを作成したいと考えています。

私のクライアントは、会社名、住所などのカスタム プレースホルダーを設定できます。

例えば:

Dear <<name>>,

This is to inform you that our <<company name>>, located in  <<address>> ...

Sincerely,
<<sender>>

テンプレートを設定したら、これをメールの本文として使用できます。次に、受信者がデータベースから取得されます。

MAIL URI を作成し、ユーザーのデフォルトの電子メール クライアントを使用してそれを開くことができる java.awt.Desktop パッケージを認識しています。問題は、差し込み印刷をどのように組み込むことができるかです。これに対する既存のライブラリまたはソリューションについて教えてください。

4

2 に答える 2

0

メールの送信には JavaMail ライブラリを使用します。「JavaMail の例」などを検索すると、多くの例が見つかります: Sending email via Gmail SMTP example。プレースホルダーに関しては、単純に String.replace 関数を使用します。

于 2011-10-30T11:41:35.203 に答える
0
  1. テンプレート内の変数の設定方法を制御する必要があります。任意の文字列を解析して、その中に変数があるかどうかを調べることはできないと思います。したがって、ユーザーが変数を追加するときは、プログラムが理解できる変数をメール本文に挿入してください。それは非常に簡単ですが、完全を期すために追加すると思いました。

  2. メール本文を速度テンプレートとして保存し、追加した変数が速度テンプレート言語に準拠していることを確認できます。複雑なテンプレートが設定されている場合、Velocity は string.replace() よりも簡単です。単純なものであれば、 String.replace() で十分です。 http://velocity.apache.org/

  3. 次に、Java メール ライブラリを使用して Java プログラムから直接送信するか、Desktop クラスを使用してボックスのデフォルトの電子メール クライアントを起動します。

編集:

Outlook を開く場合は、Desktop.mail() API を使用する必要があります。適切な URI を作成し、それを Desktop.mail() に渡すことで、Outlook のメール送信ウィンドウの to、cc、bcc、件名、および本文フィールドに事前入力できます。

 mailto:duke@sun.com?SUBJECT=Happy New Year!&BODY=Happy New Year, Duke!

詳細については、こちらをご覧ください: http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/desktop_api/

複数の受信者の場合、電子メール アドレスをコンマで区切るとうまくいくはずです。そうでない場合は、セミコロンで試してください。Outlook はセミコロンを使用します。

于 2011-10-30T11:46:25.833 に答える