Как форматировать исходящую электронную почту - создавать в коде или использовать шаблоны со сменными значениями? - PullRequest
0 голосов
/ 16 февраля 2010

Как лучше всего создавать шаблоны для исходящей электронной почты?Должен ли я каждый класс создать HTML для конкретного электронного письма?Должен ли я иметь текстовый шаблон с заполнителями, которые заменяются общепринятым методом?

В первом варианте у меня будет метод sendEmail, который принимает отформатированную строку html и отправляет электронное письмо.Несколько классов будут вызывать этот метод после создания html-представления электронной почты.

Во втором варианте я хотел бы представить несколько текстовых файлов, таких как

<html>
  <title>{emailTitle}</title>
  Your user name is: {userName}
</html>

, затем метод, который берет хэш-карту ключей, загружает соответствующий текстовый файл и затем заменяеткаждый ключ в хэш-карте со значением.Это кажется более гибким, поскольку коду не нужно ничего знать о html для создания, и вы можете изменить электронную почту, не меняя код (только удалив значения - добавление нового ключа потребует изменений кода).

Как лучше всего форматировать электронную почту?Есть ли другой вариант, который я должен рассмотреть?Я должен отправить четыре или пять различных типов электронных писем - новая регистрация, сброс пароля, подтверждение заказа и т. Д.

Я использую Java, но вопрос довольно независим от языка - некоторые языки могут облегчить создание шаблонов, но я спрашиваю о нормальных лучших практиках.

1 Ответ

1 голос
/ 16 февраля 2010

Шаблоны более гибкие, потому что (как вы говорите) ваши дизайнеры могут редактировать их, не касаясь кода. Что еще более важно, он обеспечивает разделение между бизнес-логикой и представлением.

Итак, это определенно мое предпочтение.

...