1

私は Play Framework (2.0.4) を使用していますが、電子メールを送信するためのフォームを含むページを作成する最良の方法は何でしょうか。電子メールを送信するためのプラグインがあることは知っているので、これは問題ではありません。電子メールを送信するメソッドを使用してコントローラーを作成できます。

私の質問は、(ルートファイルで)提供する必要があるアクションに関するものです。引数 (送信者名、送信者の電子メール、件名、本文) を受け取る POST アクションを作成する必要がありますか? または、フォームに入力してコントローラーのアクションに渡すモデルオブジェクトを作成する必要がありますか? ベストプラクティスは何ですか? そして、それを適切に接着する方法 (ルートファイルでアクションがどのように見えるべきか、ビューがどのように見えるべきか)?

4

1 に答える 1

0

2 つのビューが必要です。1 つはフォーム ( としましょう)、もう 1 つはメールのmailForm本文 ( ) です。bodyHtml(オプションbodyTxtで、HTML および TXT バージョンを送信する場合に作成できます。

専用モデルは、Play を使用するのに役立ちますForm<T>。また、必要に応じて、送信されたメッセージを DB に保存することもできます。とにかく、文字列のマップを操作することもできます-特に、多くの動的フォームを作成する予定がある場合(フィールドの数が不明)。

フォームに入力した後、サンプルsendEmail()アクションに移動します。ここでは、フォームに入力する必要があります ( bindFromRequest) 最終的にオブジェクトを作成して DB に保存し、最後に bodyHtml ビューに引数として渡します。もちろん、レンダリングされたビューをアクションの結果として返す代わりに、toString を使用してメーラーで送信する必要があります。アクションは、「ありがとう」ページへのリダイレクトを返す必要があります。それだけです。

注:急いで書いたので、不明な点があればお知らせください...

于 2013-03-12T19:40:14.443 に答える