2011-05-01 8 views
0

誕生日の願いを送信するためにJBoss 5.1で日常的に実行されるスケジュールされたタスクがあります。非サーブレットでイメージパスを取得

メールの内容はHTMLであり、画像をメールに埋め込んでいます。

ここで、埋め込みのための画像のパスを取得したいと思います。非servelt環境で画像のパスを取得するにはどうすればいいですか?

私は静的な場所に画像を置いてアクセスすることができました。そのため、パスをハードコードしたくないのです。

画像は「WebContent/images/birthday.jpg」の場所にあります。

答えて

2

どのように電子メールコンテンツを生成していますか?これらも静的なhtmlファイルですか?

単純な静的HTMLファイルを使用する場合は、画像パスをハードコードする必要があります。その周りに他の方法はありません。

電子メールコンテンツを作成するスタンドアロンアプリケーション(サーバー、サーブレットなどは一切含まない)として実行される単純なJavaアプリケーションを作成できます。

Javaコードは、必要に応じて電子メールを送信することもできます。あなたはJavaの

  • 画像の場所を指定するには、プロパティファイルを使用してを使用する場合

    これらは、あなたができることの一部です。これらは単純なキーと値のペアを保持するファイルです。

  • 同じテンプレートを使用して、複数のメールコンテンツをさまざまなユーザーに簡単に作成できます。
  • 複数のユーザーのhtmlコンテンツを簡単に再設計することができます。
    プロパティファイルを使用する例。

  • ex: "email_template.properties"
    ファイルに次のように入力して保存します。

    image_server = http://www.mywebsite.com
    image_folder =/WebContentを/画像/

  • は、あなたのHTMLメールを作成するために、javeプログラムを作成し、画像の位置を生成するために、プロパティファイルを使用します。

    Properties properties = new Properties(); 
    try 
    { 
        properties.load(new FileInputStream("C://email_template.properties")); //specify path here 
        String sServerLocation = properties.getProperty("image_server"); 
        String sImageFolder = properties.getProperty("image_folder"); 
        StringBuilder strEmail = new StringBuilder(); 
        strEmail.append("<html><body> <img src=\"" + sServerLocation + sImageFolder +"birthday.jsp\""> </body> </html>"); 
        // Write code to generate complete email dynamically 
        // write code to send out the email or to save as html file to you machine, where you can send it manually. 
    

    }キャッチ(のIOException e)の// {}

あなたのアイデアを得ます。プレーンhtmlを使用すると、ハードコードする必要があります。
しかし、単純なJavaファイルを使用すると、より柔軟性を得ることができます。

javaから電子メールを送信するコードが必要な場合は、このリンクをチェックしてください。
How can I send an email by Java application using GMail, Yahoo, or Hotmail?

関連する問題