В системе .net, которую я создаю, есть необходимость в автоматических уведомлениях по электронной почте. Они должны быть доступны для редактирования администратором. Какой самый простой способ сделать это? SQL таблица и WYSIWIG для редактирования?
Очередь - отличная идея. Я долго разбирался с этим типом процесса с моей старой компанией.
С высокого уровня, да. : D Главное это какое-то место для хранения шаблонов. База данных - отличный вариант, если вы ее еще не используете, тогда файловые системы работают нормально.
Редакторы WSIWIG (такие как fckeditor) работают хорошо и дают вам несколько хороших вариантов, касающихся функций, которые вы разрешаете.
Какая-то система замены токенов - также хорошая идея, если она вам нужна. Например, если кто-то помещает% FIRSTNAME% в шаблон электронной почты, код, который генерирует электронную почту, может выполнить некоторое простое сопоставление с образцом, чтобы заменить известные токены другими известными значениями, которые могут быть динамическими в зависимости от пользователя или других обстоятельств.
Вы просто говорите об интерфейсе и хранилище, или о реализации отправки электронной почты?
Да, таблица SQL с FROM, TO, Subject, Body должна работать для хранения и, черт возьми, текстовое поле или даже поле RichText должно работать для редактирования.
Или это веб-интерфейс?
Для фактической отправки, проверьте пространство имен System.Web.Mail, это довольно понятно и легко в использовании :)
Я думаю, что если это автоматические уведомления, то это означает, что они, вероятно, исчезают в результате какого-то типа события в вашем программном обеспечении. Если это веб-приложение, и вы собираетесь отправлять несколько таких рассылок, рассмотрите возможность создания очереди электронной почты, а не рассылки электронной почты по каждому событию.
Компонент может периодически запрашивать очередь и отправлять любые ожидающие элементы.
Адам Хейл пишет:
проверить пространство имен System.Web.Mail
Под которой вы подразумеваете System.Net.Mail в .Net 2.0 и выше :)
Как насчет использования новых компонентов Workflow в .NET 3.0 (и 3.5)? Это то, что мы используем в сочетании с шаблонами в моем текущем проекте. Шаблоны имеют базовый формат, а токены заменяются пользовательской информацией.