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