2

予約が完了したら、クライアントに確認メールを送信する必要があります。エステ用のHTMLメールになります。

電子メール メッセージには、ユーザーが入力したデータが含まれます。

メールの送信方法に関するさまざまなガイドを既に調べました。

しかし、HTML 電子メール メッセージを作成する方法についての指針が必要です。別の投稿で言及されていたので、 jatlを考えていました。しかし、これが最善の方法であるかどうかは不明です。

ありがとう!:)

4

4 に答える 4

3

再利用できるテンプレートの電子メールが必要なようで、その場で (電子メールを送信する際に) ユーザー名などを入力します。http://www.stringtemplate.org/をご覧になることをお勧めします。

文字列テンプレートは私にとって驚異的に機能します。

于 2013-01-24T05:03:39.810 に答える
2

Velocity テンプレートを使用することをお勧めします。Velocity Template を使用して HTML 電子メール テンプレートを作成し、VelocityEngine を使用して Java コードから呼び出すことができます。

Velocity の使用については、このドキュメントを参照してください。

http://velocity.apache.org/

詳細については、メール テンプレートでの使用方法に関する次の URL をご覧ください。

http://www.java2s.com/Code/Java/Velocity/UseVelocitytogenerateHTMLbasedemail.htm

于 2013-01-24T05:03:47.550 に答える
2

私が以前にこれを解決した方法は、JSP を文字列に出力し、その文字列を電子メールの本文として送信することでした。これは、既に webapp を使用している場合 (私はそうでした) は簡単です。Web アプリケーションを使用していない場合は、お勧めしません。

これは、それを行う方法に関するスタックオーバーフローの回答です。 そして、ここに私が使用するサンプルコードがあります:

public static String generateEmailBodyAsString(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, ServletContext servletContext) throws Exception {
    StringWriter stringWriter = new StringWriter();
    final PrintWriter printWriter = new PrintWriter(stringWriter);
    final ServletOutputStream outputStream = new ServletOutputStream() {
        @Override
        public void write(int b) throws IOException {
            printWriter.write(b);
        }
    };

    HttpServletResponseWrapper wrapper = new HttpServletResponseWrapper(httpServletResponse) {
        @Override
        public PrintWriter getWriter() throws IOException {
            return printWriter;
        }

        @Override
        public ServletOutputStream getOutputStream() throws IOException {
            return outputStream;
        }
    };

    httpServletRequest.setAttribute("youCanAccessThisAsAVariableInYourJsp", "some value");     //in your jsp refer to it as ${youCanAccessThisAsAVariableInYourJsp}         
    servletContext.getRequestDispatcher("/emailBody.jsp").include(httpServletRequest, wrapper);

    return stringWriter.toString();
}

(注: このコードはコンパイルされますが、実行時に機能しない可能性があるため、アプリの詳細を非表示にするように変更しました。問題がある場合は、コメントを追加してください。お手伝いします)

于 2013-01-24T05:08:24.010 に答える
1

以前は常に Velocity を使用していましたが、Objective-C で OSX プロジェクトを行っているときに、Mustache テンプレート エンジンに出会いました。. クールな名前を持ち、かなりうまく機能します。ほぼすべての言語で利用できます。Java バージョンは次のとおりです: https://github.com/spullara/mustache.java

実際の送信部分については、純粋な javax.mail API よりも Spring をお勧めします (私はいつも少し不可解であることに気付きました - 使いやすさではなく、柔軟性のために設計されたと思います)。. ドキュメント: http://static.springsource.org/spring/docs/2.0.8/reference/mail.html

于 2013-01-24T05:10:40.090 に答える