2010-02-15 5 views
0

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

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

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

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

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

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

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

ответ

1

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

Итак, это, безусловно, мое предпочтение.