Я работаю над сайтом, который будет рассылать значительное количество писем. Я хочу настроить как верхний, так и нижний колонтитулы или, возможно, даже шаблоны, чтобы пользователи могли легко редактировать эти электронные письма, если им это необходимо.
Если я вставлю HTML-код в строковые литералы C #, это будет ужасно, и им придется беспокоиться о побеге. Включение плоских файлов для верхнего и нижнего колонтитула может сработать, но что-то в этом не так.
Что было бы идеально, если бы каким-то образом использовать страницу .ASPX
в качестве шаблона, а затем просто указать мой код для обслуживания этой страницы и использовать HTML-код, возвращенный для электронной почты.
Есть ли хороший и простой способ сделать это? Есть ли лучший способ решить эту проблему?
Изменено:
Я добавил ответ, который позволяет использовать стандартную страницу .aspx в качестве шаблона электронной почты. Просто замените все переменные, как обычно, используйте привязку данных и т. Д. Затем просто запишите выходные данные страницы и вуаля! У вас есть электронная почта в формате HTML!
ОБНОВЛЕНО CAVEAT !!!:
Я использовал класс MailDefinition на некоторых страницах aspx просто отлично, но при попытке использовать этот класс во время запущенного серверного процесса он не удался. Я полагаю, что это потому, что метод MailDefinition.CreateMailMessage () требует действительный элемент управления для ссылки, даже если он не всегда что-то делает. По этой причине я бы порекомендовал свой подход с использованием страницы aspx или подход Маня с использованием страницы ascx, что выглядит немного лучше.