1

Я использую Play Framework (2.0.4), и мне интересно, что является лучшим способом создать страницу с формой для отправки электронной почты. Я знаю, что есть плагин для отправки электронной почты, так что это не проблема. Я могу написать контроллер с помощью метода, который отправляет электронное письмо.Форма письма в Play Framework 2.0.X

Мой вопрос больше о действии, которое я должен предоставить (в файле маршрутов). Должен ли я создать POST-действие, которое принимает аргументы (имя отправителя, электронная почта отправителя, субъект, тело)? или я должен каким-то образом создать модельный объект, который будет заполнен в форме и перейти к действию в контроллере? Какова наилучшая практика? И как правильно склеить его (как должно выглядеть действие в файле маршрутов, как должно выглядеть представление)?

ответ

0

Вам нужны два вида - один с формой (назовем его mailForm), второй - с телом (bodyHtml) почты. (возможно, вы можете создать bodyTxt, если вы хотите отправить HTML и TXT версию.

Выделенная модель будет хорошим помощником, так как она поможет вам использовать Play Form<T>, также при необходимости вы сможете хранить отправленные сообщения в БД В любом случае вы также можете работать с картой Strings - особенно если вы планируете делать много динамических форм (с неизвестным количеством полей).

После заполнения формы вы получите пример sendEmail(), где вам нужно чтобы заполнить форму (bindFromRequest), в конечном итоге создать объект и сохранить в БД и, наконец, перейти к bodyHtml view в качестве аргумента. Конечно, вместо того, чтобы возвращать визуализированное представление как результат действия, вы должны использовать его с toString - отправить его с помощью почтовик. Действие должно вернуть перенаправление на страницу «Спасибо». и это все.

Примечание: Письмо быстро, если что-то неясно, дайте мне знать ...

Смежные вопросы